问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

vb 窗体 透明

发布网友 发布时间:2022-05-20 12:31

我来回答

3个回答

热心网友 时间:2023-10-27 01:08

有API~==,我把这个封装过一个Class~

VERSION 1.0 CLASS
BEGIN
MultiUse = -1 'True
Persistable = 0 'NotPersistable
DataBindingBehavior = 0 'vbNone
DataSourceBehavior = 0 'vbNone
MTSTransactionMode = 0 'NotAnMTSObject
END
Attribute VB_Name = "MakeTrans"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
Option Explicit

'****************************************

'/// Project:Boxing Transparent Window

'/// File:MakeTrans.cls

'/// Edition:Version 1.0.0 Beta1

'/// Coder:KingsamChen [Son Of Darkness]

'/// Last Modify:2008-1-28

'****************************************

'=========================================Get Windows Extra Style=========================================

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

Private Const GWL_EXSTYLE = (-20)

'=========================================Get Windows Extra Style=========================================

'=========================================Set Windows Transparence========================================

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 Const WS_EX_LAYERED = &H80000

Private Const LWA_ALPHA = &H2

'=========================================Set Windows Transparence========================================

Private m_lngOldExStyle As Long

Public Sub SetWindowTransparence(cTransForm As Form, bytTransKey As Byte)

'********************************************************

'/// 函数名: SetWindowTransparence

'/// 输 入: cTransForm(Form) - 要设置透明的窗体

'/// bytTransKey - 透明度 范围:0-255 数值越低,透明度越高

'/// 输 出: -

'/// 功 能: 令指定窗体透明

'********************************************************

Dim lngExStyle As Long, lngFrmHwnd As Long

lngFrmHwnd = cTransForm.hwnd

lngExStyle = GetWindowLong(lngFrmHwnd, GWL_EXSTYLE)

m_lngOldExStyle = lngExStyle

lngExStyle = lngExStyle Or WS_EX_LAYERED '/// 新样式

Call SetWindowLong(lngFrmHwnd, GWL_EXSTYLE, lngExStyle)

Call SetLayeredWindowAttributes(lngFrmHwnd, 0, bytTransKey, LWA_ALPHA) '/// 窗体透明

End Sub

Public Sub Restore(cResForm As Form)

'********************************************************

'/// 函数名: Restore

'/// 输 入: cResForm(Form) - 要设置透明的窗体

'/// 输 出: -

'/// 功 能: 复原窗体样式

'********************************************************

Call SetWindowLong(cResForm.hwnd, GWL_EXSTYLE, m_lngOldExStyle)

End Sub

'****************************************

'/// Project:Boxing Transparent Window

'/// File:frmMain.frm

'/// Edition:Version 1.0.0 Final

'/// Coder:KingsamChen [Son Of Darkness]

'/// Last Modify:2008-1-28

'****************************************

Dim cTrans As MakeTrans

Private Sub Form_Click()

Call cTrans.Restore(Me)

End Sub

Private Sub Form_Load()

Set cTrans = New MakeTrans

Call cTrans.SetWindowTransparence(Me, 128)

End Sub

Private Sub Form_Unload(Cancel As Integer)

Set cTrans = Nothing

End Sub

热心网友 时间:2023-10-27 01:09

没有小点么?你看看 窗体 的属性面板

热心网友 时间:2023-10-27 01:09

试试这个吧。
Const LWA_COLORKEY = &H1
Const LWA_ALPHA = &H2
Const GWL_EXSTYLE = (-20)
Const WS_EX_LAYERED = &H80000
Const WS_EX_TRANSPARENT As Long = &H20&
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
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 Sub Form_Load()
Dim Ret As Long
Ret = GetWindowLong(Me.hWnd, GWL_EXSTYLE)
Ret = Ret Or WS_EX_LAYERED Or WS_EX_TRANSPARENT
SetWindowLong Me.hWnd, GWL_EXSTYLE, Ret
SetLayeredWindowAttributes Me.hWnd, 0, 200, LWA_ALPHA
End Sub

呵呵,再试试这个:
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
Private Declare Function SetLayeredWindowAttributes Lib "user32" (ByVal hwnd As Long, ByVal crKey As Long, ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long
'其中hwnd是透明窗体的句柄,crKey为颜色值,bAlpha是透明度,取值范围是[0,255],dwFlags是透明方式,可以取两个值:当取值为LWA_ALPHA时,crKey参数无效,bAlpha参数有效;当取值为LWA_COLORKEY时,bAlpha参数有效而窗体中的所有颜色为crKey的地方将变为透明--这个功能很有用:我们不必再为建立不规则形状的窗体而调用一大堆区域分析、创建、合并函数了,只需指定透明处的颜色值即可,哈哈哈哈!请看具体代码。
Private Const WS_EX_LAYERED = &H80000
Private Const GWL_EXSTYLE = (-20)
Private Const LWA_ALPHA = &H2
Private Const LWA_COLORKEY = &H1

'代码: 一个半透明窗体
Private Sub Form_Load()
Dim rtn As Long
rtn = GetWindowLong(hwnd, GWL_EXSTYLE)
rtn = rtn Or WS_EX_LAYERED
SetWindowLong hwnd, GWL_EXSTYLE, rtn
SetLayeredWindowAttributes hwnd, 0, 200, LWA_ALPHA
End Sub
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
为什么我在电脑上面下的电影在手机上面不显示? 为什么视频在手机里放不出来在电脑里放得出来? 求问bb霜什么牌‍子‍好 BB霜哪个牌子的比较好啊? 我用很多BB霜都过敏脱皮,该用哪个牌子的才能不过敏?拜托了各位 谢谢... 没有去继续教育会计证会不会被吊销? 会计证连续几年未继续教育会被吊销 我想请问,能不能从视频里抓出一段声音,然后保存,变成手机铃声的那种格式... 高中地理知识如何描述地貌特征 中国地理第一讲:自然地理之河流 VB如何实现透明窗体? vb窗口透明 VB仅使窗体透明 如何用vb实现每个窗体透明 并且用滚动条调节透明度 在VB6.0企业版 中怎样设置窗体背景为透明? vb设置窗体颜色透明 关于VB窗体透明的问题 VB怎么做窗体部分透明 VB怎么让窗体透明? vb中设置窗体透明? VB设置窗口透明信息 VB窗体透明问题! VB中如何把控件变成透明的?就和label一样的效果,只显示窗体背景色,窗体背景色为图片_百度问一问 如何使VB中的窗体控件透明 锡柴4DB1国六是8气门还是16气门 锡柴CA4DB1-11E5 110马力 2.21L 国五 柴油发动机好不? CA4DB1一11E5油进水是什么原因 刘义符是怎么死的? 刘义隆为什么能在刘宋弑君案后坐稳皇位? 刘义隆的历史简介有哪些? 2007 年5月出生的女孩取什么名字好听些,缺金 核桃苗木出圃的步骤是怎样的? 左边图片是核桃树苗自己出来的这个肯定没错?,右边的图片是核桃树苗吗?有知道的朋友请您说说? 请问这是个路由器吗,在家里可以使用吗,怎么按装?谢谢回答。 h3c wa2620e这是什么路由器吗 选择wa2620E还是wa2620i? H3C WA 2620E-AGN fit 如何设置! 请教H3C WA2620e-AGN fit版本改fat版本的具体步骤,能远程操作哈更好,谢谢! H3C WA2620是不是无线路由器? 懂得H3C WA2620的请进来帮助!!谢谢 h3cwa2620接一根网线就亮了,电源线都没接,这样能用吗? 我手上有一台h3c wa2620e_f_fit的设备,我想用笔记本或台式机对它进行配置,我有poe 怎么将应用转移到内存卡里面9.1系统? 安卓系统有9.1系统吗 奔腾B70机盖锁底座 刚刚五分钟前我的手机被更新到9.1系统什么都比以前差了。教教我怎么办吧? 安卓系统手机1500到2000求推荐 哪个数约等于20万? 一个数约等于20万,最大和最小 20万是多少?