以下是我设置窗体透明的代码:
Public Sub SetFormMode(ByRef fnForm As Form, ByVal fnBKColor As Long)
' 制作不规则窗体
Dim rtn As Long
fnForm.BorderStyle = 0
rtn = GetWindowLong(fnForm.hWnd, GWL_EXSTYLE)
rtn = rtn Or WS_EX_LAYERED
SetWindowLong fnForm.hWnd, GWL_EXSTYLE, rtn
' 扣去窗体指定的背景色
SetLayeredWindowAttributes fnForm.hWnd, fnBKColor, 255, LWA_COLORKEY Or LWA_ALPHA
End Sub结果是窗体能达到我所要的不规则形状,但是总会不时地出现闪烁现象,把背景闪烁出来就不Happy了啦。
请高人指点了啦。谢谢,万分感谢啦!
Public Sub SetFormMode(ByRef fnForm As Form, ByVal fnBKColor As Long)
' 制作不规则窗体
Dim rtn As Long
fnForm.BorderStyle = 0
rtn = GetWindowLong(fnForm.hWnd, GWL_EXSTYLE)
rtn = rtn Or WS_EX_LAYERED
SetWindowLong fnForm.hWnd, GWL_EXSTYLE, rtn
' 扣去窗体指定的背景色
SetLayeredWindowAttributes fnForm.hWnd, fnBKColor, 255, LWA_COLORKEY Or LWA_ALPHA
End Sub结果是窗体能达到我所要的不规则形状,但是总会不时地出现闪烁现象,把背景闪烁出来就不Happy了啦。
请高人指点了啦。谢谢,万分感谢啦!
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货