不规则窗体如何创建

liebecss3 2013-02-15 05:05:35

这个形状的不规则窗体谁创建能顺手捏来?
100分求助不要跟我说什么用什么和什么请用代码说话 举例说明~!图上是一个窗体不是贴图
...全文
248 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
现在还是人类 2013-03-13
  • 打赏
  • 举报
回复
引用 7 楼 c0631106233 的回复:
GDI+?
正是 GDI+ 配合 UpdateLayeredWindow 函数,可以使用 PNG 做素材(想怎么透明头可以),还可以动态绘制带透明的图像层,完成后 UpdateLayeredWindow 就搞定,界面灵活多变,可以说只有你想不到的,没有做不到的效果。
酷心 2013-03-13
  • 打赏
  • 举报
回复
简单点是贴图,用Ps之类的处理好,然后用4楼的方法透明掉背景。
引用 1 楼 SupermanKing 的回复:
看看背景的代码,关键的在最下面一行
GDI+?
  • 打赏
  • 举报
回复
引用 4 楼 tianzhi0549 的回复:
Private Declare Function RoundRect Lib "gdi32" (ByVal hdc As Long, ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long, ByVal X3 As Long, ByVal Y3 As Long) As Long Pri……
都牛人啊
熊孩子开学喽 2013-02-16
  • 打赏
  • 举报
回复
好像楼主发过一个重复贴了,看这个例子: http://download.csdn.net/detail/WallesCai/795601
tianzhi0549 2013-02-16
  • 打赏
  • 举报
回复
Private Declare Function RoundRect Lib "gdi32" (ByVal hdc As Long, ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long, ByVal X3 As Long, ByVal Y3 As Long) As Long Private Declare Function SetLayeredWindowAttributes Lib "user32" (ByVal hwnd As Long, ByVal crKey As Long, ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long Private Sub Form_Load() AutoRedraw = True BackColor = vbWhite FillStyle = 0 Call RoundRect(Me.hdc, 20, 20, 200, 70, 5, 5) Call RoundRect(Me.hdc, 50, 10, 90, 80, 5, 5) Dim rtn As Long rtn = GetWindowLong(hwnd, -20) rtn = rtn Or &H80000 Call SetWindowLong(hwnd, -16, 0) Call SetWindowLong(Me.hwnd, -20, rtn) SetLayeredWindowAttributes hwnd, vbWhite, 0, 1 End Sub 就这么简单吗?直接把代码复制过去看看吧。
现在还是人类 2013-02-15
  • 打赏
  • 举报
回复
呵呵,看来你还不明白,我上面的窗口与你的那个窗口实现都不是一个级别的。 不知道你注意看没有,窗口有全透明区域、有半透明区域还有不透明区域,还有阴影部分(透明过度)。 这些都能实现,你的那个窗口要实现起来难道你认为不行?
liebecss3 2013-02-15
  • 打赏
  • 举报
回复
引用 1 楼 SupermanKing 的回复:
看看背景的代码,关键的在最下面一行
这是你的代码吗?你先捏出个我那样子在让我看哪行
现在还是人类 2013-02-15
  • 打赏
  • 举报
回复

看看背景的代码,关键的在最下面一行

1,451

社区成员

发帖
与我相关
我的任务
社区描述
VB 控件
社区管理员
  • 控件
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧