如何在vb6.0中透明窗体?

如何在vb6.0中透明窗体?,vb6,Vb6,可能重复: 我想创建一个具有多个表单的vb应用程序,这些表单都是透明的,上面有一些文本。如果您只想通过透明表单使用代码,是否可能? VB: 先申报这个 Dim g_nTransparency As Integer Public Const LWA_COLORKEY = 1 Public Const LWA_ALPHA = 2 Public Const LWA_BOTH = 3 Public Const WS_EX_LAYERED = &H80000 Public Const GWL_E

可能重复:


我想创建一个具有多个表单的vb应用程序,这些表单都是透明的,上面有一些文本。如果您只想通过透明表单使用代码,是否可能?

VB: 先申报这个

Dim g_nTransparency As Integer
Public Const LWA_COLORKEY = 1
Public Const LWA_ALPHA = 2
Public Const LWA_BOTH = 3
Public Const WS_EX_LAYERED = &H80000
Public Const GWL_EXSTYLE = -20
Public Declare Function SetLayeredWindowAttributes Lib "user32" (ByVal hwnd As Long, ByVal Color As Long, ByVal X As Byte, ByVal alpha As Long) As Boolean

Public Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Public Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long

Public Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long

Sub SetTranslucent(ThehWnd As Long, nTrans As Integer)
'SetWindowLong and SetLayeredWindowAttributes are API functions, see MSDN for details
   Dim attrib As Long
   attrib = GetWindowLong(ThehWnd, GWL_EXSTYLE)
   SetWindowLong ThehWnd, GWL_EXSTYLE, attrib Or WS_EX_LAYERED
   SetLayeredWindowAttributes ThehWnd, RGB(255, 255, 0), nTrans, LWA_ALPHA    
End Sub

Public Function Transparent_Form()
  g_nTransparency = 190
  If g_nTransparency < 0 Then g_nTransparency = 0
  If g_nTransparency > 255 Then g_nTransparency = 255
  SetTranslucent Translucent.hwnd, g_nTransparency
  Translucent.Show
  mintCount = 0 
End Function
Dim g\u nTransparency作为整数
公共常量LWA_COLORKEY=1
公共工程LWA_α=2
公共工程LWA_均=3
公共常数WS_EX_分层=&H80000
公共常数GWL_EXSTYLE=-20
公共声明函数SetLayeredWindowAttributes Lib“user32”(ByVal hwnd为长,ByVal Color为长,ByVal X为字节,ByVal alpha为长)为布尔值
公共声明函数SetWindowLong Lib“user32”别名“SetWindowLongA”(ByVal hwnd为Long,ByVal nIndex为Long,ByVal dwNewLong为Long)为Long
公共声明函数GetWindowLong Lib“user32”别名“GetWindowLongA”(ByVal hwnd为Long,ByVal nIndex为Long)为Long
公共声明函数ShowWindow Lib“user32”(ByVal hwnd为Long,ByVal nCmdShow为Long)为Long
Sub-SetTransparent(长度为HWND,长度为nTrans,整数为nTrans)
'SetWindowLong和SetLayeredWindowAttributes是API函数,有关详细信息,请参阅MSDN
暗淡如长
attrib=GetWindowLong(ThehWnd,GWL_EXSTYLE)
设置窗口长、GWL_EXSTYLE、attrib或WS_EXU分层
设置分层窗口属性HWND、RGB(255、255、0)、nTrans、LWA_ALPHA
端接头
公共职能透明表格()
g_n转移率=190
如果g_nTransparency<0,则g_nTransparency=0
如果g\u nTransparency>255,则g\u nTransparency=255
SetTranslucent半透明.hwnd,g_nTransparency
半透明的
mintCount=0
端函数