当前位置:编程学习 > VB >>

制造出透明的窗体(Form)

答案:
制造出透明的窗体(Form)
注释:form上有Command1, command2两个Button并事先设定form之BorderStyle = 0

Option Explicit
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 GWL_EXSTYLE = (-20)
Const WS_EX_TRANSPARENT = &H20&
Private PreValue As Long

Private Sub Command2_Click() 注释:还原变成不透明
Call SetWindowLong(Me.hwnd, GWL_EXSTYLE, PreValue)
Me.Hide
Me.Show
End Sub

Private Sub Form_Load()
Dim i As Long

i = GetWindowLong(Me.hwnd, GWL_EXSTYLE)
注释:变成透明的Form
PreValue = SetWindowLong(Me.hwnd, GWL_EXSTYLE, i Or WS_EX_TRANSPARENT)
Me.Show
DoEvents
Command1.Refresh 注释:令Command1可见
Command2.Refresh 注释:令Command2可见
End Sub

上一个:透明的窗体(From)上显示背景透通图
下一个:做出分隔线

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,