实现半透明窗体

作者在 2007-04-23 21:51:00 发布以下内容
Option Explicit
Private Declare SetLayeredWindowAttributes Lib "user32" (ByVal hwnd As Long, ByVal crKey As Long, ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long
Private Declare GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Private Declare 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()
    Dim sty As Long
    sty = GetWindowLong(Me.hwnd, GWL_EXSTYLE)
    sty = sty Or WS_EX_LAYERED
    SetWindowLong Me.hwnd, GWL_EXSTYLE, sty
    SetLayeredWindowAttributes Me.hwnd, 0, 100, LWA_ALPHA
End Sub
默认分类 | 阅读 2288 次
文章评论,共1条
redice(作者)
2007-05-09 01:19
1
SetLayeredWindowAttributes Me.hwnd, 0, 100, LWA_ALPHA
 

第三个参数 取值 0-255 即 完全透明-完全不透明
游客请输入验证码
浏览588034次