VB窗体透明,圆角处理..

程序代码

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 GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex 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
Const WS_EX_LAYERED = &H80000
Const GWL_EXSTYLE = (-20)
Const LWA_ALPHA = &H2
Const LWA_COLORKEY = &H1

 

在窗体中这样调用:


程序代码

Private Sub Form_Load() '窗体透明,控件不透明
Me.BackColor = &H0
SetWindowLong Me.hwnd, GWL_EXSTYLE, WS_EX_LAYERED
SetLayeredWindowAttributes Me.hwnd, &H0, 255, LWA_ALPHA or LWA_COLORKEY '这里的255是透明度,0-255之间
End Sub

 

这里设置成255,就是不透明,我们可以看到,但是窗体的背景被去掉了,
...这样就控件可以看到,窗体看不到了.


程序代码

Private Sub Form_Load() '全部透明
Me.BackColor = &H0
SetWindowLong Me.hwnd, GWL_EXSTYLE, WS_EX_LAYERED
SetLayeredWindowAttributes Me.hwnd, &H0, 0, LWA_ALPHA or LWA_COLORKEY '这里的0是透明度,0-255之间
End Sub

 

这里就是设置成了0,就是什么都看不到了

 

圆角处理:

1.先使用

Private Sub Form_Load()
Me.BackColor = &H0
SetWindowLong Me.hwnd, GWL_EXSTYLE, WS_EX_LAYERED
SetLayeredWindowAttributes Me.hwnd, &H0, 255, LWA_ALPHA or LWA_COLORKEY '这里的255是透明度,0-255之间
End Sub

也就是说屏蔽黑色,窗体里出现的所有黑色(包括label控件,图片中的黑色部分)都会被屏蔽,变成透明!

2.加载图片

加载窗体的图片,直接将图片中窗体角落部分弄成黑色(必须是纯黑),再运行!有什么效果?



上一篇: 关键字相关度检测小软件~
下一篇: ASP获取当前网址
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags: vb
相关日志:
评论: 0 | 引用: 0 | 查看次数: 4064
发表评论
昵 称:
密 码: 游客发言不需要密码.
邮 箱: 邮件地址支持Gravatar头像,邮箱地址不会公开.
网 址: 输入网址便于回访.
内 容:
验证码:
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.
字数限制 1000 字 | UBB代码 开启 | [img]标签 关闭

 广告位

↑返回顶部↑