如何用VB做出透明的窗体(包括点击窗体时透明,如点击窗体可出现XP系统右键菜单)

来源:百度知道 编辑:UC知道 时间:2024/05/22 17:38:10
如何用VB做出透明的窗体(包括点击窗体时透明,即点击窗体可出现XP系统右键菜单)用到哪些函数呢,最好能有简短可行的代码啊,谢谢啦!

什么意思,是不接受鼠标事件而直接传给下层窗体?
是的话就这样
Const LWA_COLORKEY = &H1
Const LWA_ALPHA = &H2
Const GWL_EXSTYLE = (-20)
Const WS_EX_LAYERED = &H80000
Const WS_EX_TRANSPARENT As Long = &H20&
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
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 Sub Form_Load()

Dim Ret As Long
Ret = GetWindowLong(Me.hwnd, GWL_EXSTYLE)
Ret = Ret Or WS_EX_LAYERED Or WS_EX_TRANSPARENT
SetWindowLong Me.hwnd, GWL_EXSTYLE, Ret
SetLayeredWindowAttributes Me.hwnd, 透明色, 0, LWA_COLORKEY

End Sub