VB6.0使窗口透明化
VB6.0是一种简单易学的 编程语言,在可视化的编程背景中,为程序员提供了巨大的便利。本是教你如何用API(Application Programming Interface,应用程序编程接口)把VB中的窗口变得透明,达到窗口美化的作用。
操作方法
- 01
打开VB6.0,创建工程
- 02
进入编写代码窗口,在如图位置添加下面的API函数代码 '窗口透明API Private Declare Function SetLayeredWindowAttributes Lib "user32" (ByVal hwnd As Long, ByVal crKey As Long, ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long 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 WS_EX_LAYERED = &H80000 Const GWL_EXSTYLE = (-20) Const LWA_ALPHA = &H2 Const LWA_COLORKEY = &H1
- 03
在窗口的加载事件里添加如下代码 '''''''''''''''''''''窗体透明''''''''''''''' Dim rtn As Long Me.BackColor = RGB(0, 0, 0)'设置一下窗口的颜色 rtn = GetWindowLong(hwnd, GWL_EXSTYLE) rtn = rtn Or WS_EX_LAYERED SetWindowLong hwnd, GWL_EXSTYLE, rtn SetLayeredWindowAttributes hwnd, RGB(0, 0, 0), 150, LWA_ALPHA 'RGB(0, 0, 0)参数就是要透明掉的颜色
- 04
OK,点击运行,窗口的透明化就实现了
- 05
下面介绍一下这个API函数的其它透明效果,参数的说明。 Const LWA_ALPHA = &H2 '使用此参数,透明度有效,透明颜色无效 Const LWA_COLORKEY = &H1 '使用此参数,透明度无效,透明颜色有效
- 06
在调用函数的语句中。如果使用 LWA_ALPHA 参数,即 SetLayeredWindowAttributes hwnd, RGB(0, 0, 0), 150, LWA_ALPHA 则窗口中的控件也会透明,透明颜色会失效
- 07
在调用函数的语句中。如果使用 LWA_COLORKEY 参数,即 SetLayeredWindowAttributes hwnd, RGB(0, 0, 0), 150, LWA_COLORKEY 则窗口中的控件不会透明,透明颜色会有效