VB6.0使窗口透明化

 时间:2026-05-01 03:40:15

1、打开VB6.0,创建工程

VB6.0使窗口透明化

2、进入编写代码窗口,在如图位置添加下面的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 

VB6.0使窗口透明化

3、在窗口的加载事件里添加如下代码

'''''''''''''''''''''窗体透明'''''''''''''''

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)参数就是要透明掉的颜色

VB6.0使窗口透明化

4、OK,点击运行,窗口的透明化就实现了

VB6.0使窗口透明化

5、下面介绍一下这个API函数的其它透明效果,参数的说明。

Const LWA_ALPHA = &H2       '使用此参数,透明度有效,透明颜色无效

Const LWA_COLORKEY = &H1 '使用此参数,透明度无效,透明颜色有效

VB6.0使窗口透明化

6、在调用函数的语句中。如果使用 LWA_ALPHA 参数,即

SetLayeredWindowAttributes hwnd, RGB(0, 0, 0), 150, LWA_ALPHA

则窗口中的控件也会透明,透明颜色会失效

VB6.0使窗口透明化

7、在调用函数的语句中。如果使用 LWA_COLORKEY 参数,即

SetLayeredWindowAttributes hwnd, RGB(0, 0, 0), 150, LWA_COLORKEY

则窗口中的控件不会透明,透明颜色会有效

VB6.0使窗口透明化

  • C# 如何复制Excel工作表(worksheet)
  • Python编程:怎么获取tkinter窗口所在屏幕宽度
  • VB6.0如何关闭不需要使用的立即窗口
  • 如何设置Excel始终以默认编码保存网页
  • VB动态创建组合框
  • 热门搜索
    张国荣梅艳芳什么关系 老师的祝福语 隐晦是什么意思 什么最广阔阅读答案 什么手表牌子好 鸵鸟政策是什么意思 儿童家具什么牌子好 appear是什么意思 天真无邪的意思 睚眦必报的意思