如何使窗体背景透明
?? 问题点数:20、回复次数:2Top
1 楼dbcontrols(泰山__抛砖引玉)回复于 2002-02-22 13:56:56 得分 10
Private Declare Function CreateCompatibleBitmap Lib "gdi32" (ByVal hdc As Long, ByVal nWidth As Long, ByVal nHeight As Long) As Long
Private Declare Function SelectObject Lib "gdi32" (ByVal hdc As Long, ByVal hObject As Long) As Long
Private Sub Form_Load()
Me.AutoRedraw = True
hBitmap = CreateCompatibleBitmap(Me.hdc, 0, 0)
SelectObject Me.hdc, hBitmap
Me.Refresh
End Sub
Top
2 楼lily0000000(heaven)回复于 2002-02-22 14:19:42 得分 10
如 何 使 窗 口 透 明
为 了 便 于 观 察, 先 在 窗 口 上 添 加 两 个 按 钮, Command1和 Command2。 加 上 如 下 代 码 :
Private Sub Command1_Click()
Print "Hello"
End Sub
Private Sub Command2_Click()
End
End Sub
这 两 个 按 钮 一 个 用 于 终 止 程 序 运 行 , 一 个 用 于 显 示 文 字 。
然 后 , 将 Form的 Border设 为 None。
最 后 , 在 Form的 声 明 部 分 加 上 以 下 代 码 :
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 SetParent Lib "user32" (ByVal hWndChild _
As Long, ByVal hWndNewParent As Long) As Long
Const WS_EX_TRANSPARENT = &H20&
Const GWL_EXSTYLE = (-20)
最 后 , 在 Form中 加 上 如 下 代 码 。
Private Sub Form_Load()
SetWindowLong hwnd, GWL_EXSTYLE, WS_EX_TRANSPARENT
End Sub
Top




