查看: 25  |  回复: 0
  VB6 代码管家-改变窗体透明度
楼主
发表于 2024年12月8日 22:32
'参考地址:http://baike.baidu.com/view/1329156.htm
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 SetLayeredWindowAttributes Lib "user32" (ByVal hwnd As Long, ByVal crKey As Long, ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long
Const WS_EX_LAYERED = &H80000
Const GWL_EXSTYLE = (-20)
Const LWA_ALPHA = &H2
Const LWA_COLORKEY = &H1

Private Sub Command1_Click() '将窗体中灰色的地方设为完全透明
	SetWindowLong hwnd, GWL_EXSTYLE, WS_EX_LAYERED
	SetLayeredWindowAttributes hwnd, RGB(236, 233, 216), 255, LWA_COLORKEY 'RGB(236, 233, 216)表示灰色
End Sub

Private Sub Command2_Click() '将整个窗体设为半透明
	SetWindowLong hwnd, GWL_EXSTYLE, WS_EX_LAYERED
	SetLayeredWindowAttributes hwnd, 0, 150, LWA_ALPHA '透明度为150,透明度值0~255
End Sub


您需要登录后才可以回帖 登录 | 立即注册
【本版规则】请勿发表违反国家法律的内容,否则会被冻结账号和删贴。
用户名: 立即注册
密码:
2020-2024 MaNongKu.com