首页 > 学院 > 开发设计 > 正文

制造出透明的窗体(Form)

2019-11-18 17:33:57
字体:
来源:转载
供稿:网友
注释:form上有Command1,command2两个Button并事先设定form之BorderStyle=0

OptionExplicit
PRivateDeclareFunctionGetWindowLongLib"user32"Alias"GetWindowLongA"(ByValhwndAsLong,ByValnIndexAsLong)AsLong
PrivateDeclareFunctionSetWindowLongLib"user32"Alias"SetWindowLongA"(ByValhwndAsLong,ByValnIndexAsLong,ByValdwNewLongAsLong)AsLong
ConstGWL_EXSTYLE=(-20)
ConstWS_EX_TRANSPARENT=&H20&
PrivatePreValueAsLong

PrivateSubCommand2_Click()注释:还原变成不透明
CallSetWindowLong(Me.hwnd,GWL_EXSTYLE,PreValue)
Me.Hide
Me.Show
EndSub

PrivateSubForm_Load()
DimiAsLong

i=GetWindowLong(Me.hwnd,GWL_EXSTYLE)
注释:变成透明的Form
PreValue=SetWindowLong(Me.hwnd,GWL_EXSTYLE,iOrWS_EX_TRANSPARENT)
Me.Show
DoEvents
Command1.Refresh注释:令Command1可见
Command2.Refresh注释:令Command2可见
EndSub->


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表