VB6.0使窗口透明化

 时间:2026-02-12 23:59:03

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动态创建组合框
  • 热门搜索
    怎么查档案在哪里 西门子燃气灶怎么样 电脑出现蓝屏怎么解决 怎么制作简历表格 岱宗夫如何 怎么样瘦手臂 辐射4mod怎么用 债券基金收益怎么算 如何沟通 管狐哪里多