索尼电子墨水手表:VB解释下这个代码

来源:百度文库 编辑:中财网 时间:2024/04/29 08:29:50

VB解释下这个代码

[ 标签:vb ]

这是一个半透明窗体的代码解释下这个代码吧!

格式:Msgbox" 小伊伊" ' 弹出提示窗口

----------------------------------------------------

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 Const GWL_EXSTYLE = (-20)
Private Const LWA_ALPHA As Long = &H2
Private Const WS_EX_LAYERED As Long = &H80000

Private Declare Function SetLayeredWindowAttributes Lib "user32" _
(ByVal hwnd As Long, _
ByVal crKey As Long, _
ByVal bAlpha As Long, _
ByVal dwFlags As Long) _
As Long

Private Sub Form_Load()
Dim p As Long
p = GetWindowLong(Me.hwnd, GWL_EXSTYLE)
Call SetWindowLong(Me.hwnd, GWL_EXSTYLE, p Or WS_EX_LAYERED)
Call SetLayeredWindowAttributes(Me.hwnd, 0, 127, LWA_ALPHA)
End Sub

哒健/se 回答:1 人气:2 解决时间:2009-12-13 06:19

满意答案

好评率:0%

p = GetWindowLong(Me.hwnd, GWL_EXSTYLE) 得到当前的扩展的窗口风格
Call SetWindowLong(Me.hwnd, GWL_EXSTYLE, p Or WS_EX_LAYERED) 设置当前窗口的具有透明效果的扩展风格
Call SetLayeredWindowAttributes(Me.hwnd, 0, 127, LWA_ALPHA) 设置当前窗口的透明度127这个数值越小越透明....

---------------------------------------------

在前面那些东西都是声明dll里的函数,都是user32.dll里的,属于windows的dll

  • 您已经评价过!好:0
  • 您已经评价过!不好:0
  • 原创:0
  • 非原创:0
匿名 回答采纳率:65.3% 2009-11-29 15:19