VB怎么做窗体部分透明

作者&投稿:居祁 (若有异议请与网页底部的电邮联系)
VB怎么让窗体透明?~

使用API
.............................................................
Public Declare Function SetLayeredWindowAttributes Lib "user32" (ByVal hwnd As Long, ByVal crKey As Long, ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long
Public Const WS_EX_LAYERED = &H80000
Public Const GWL_EXSTYLE = (-20)
Public Const LWA_ALPHA = &H2
Public Const LWA_COLORKEY = &H1
Public Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Public Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long

Public Sub SetWin(hwn As Long, i As Integer)
Dim rtn As Long
Dim m As Integer
m = Int((100 - i) * 2.55)
rtn = GetWindowLong(hwn, GWL_EXSTYLE)
rtn = rtn Or WS_EX_LAYERED '新的样式WS_EX_LAYERED
SetWindowLong hwn, GWL_EXSTYLE, rtn '把新的样式赋给窗体
SetLayeredWindowAttributes hwn, 0, m, LWA_ALPHA
End Sub

’以上放在模块里,以下是在form1中的调用:
Private Sub Form_Load()
SetWin Me.hwnd, 50
End Sub

张志晨

用API函数。。
SetWindowLong

'网上的是让你自己改的,你没看清楚代码注释吧

'我这是参考网上全透明的改的

'看上去虽然是全透明的,但添加的控件和Line等是看得见的

'那个游戏也是这样,先搞成全透明,再画上看得见的边框,就有这样的效果了

'图片是效果

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

Const WS_EX_LAYERED = &H80000

Const GWL_EXSTYLE = (-20)

Const LWA_COLORKEY = &H1

Private Sub Form_Load()

     BackColor = &HFEFEFE

     SetWindowLong hwnd, GWL_EXSTYLE, WS_EX_LAYERED

     SetLayeredWindowAttributes hwnd, &HFEFEFE, 0, LWA_COLORKEY

End Sub



新建一个窗体,把窗体的borderstyle属性设置为“0 - none” 就不会看到边框了




VB怎么做窗体部分透明
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 ...

vb.net怎样使窗体半透明
窗体半透明: FormXX.Opacity=0.5或者: SetStyle(ControlStyles.SupportsTransparentBackColor, True)ControlXX.BackColor = Color.Transparent '或者是带Alpha的颜色ControlXX.BackColor = Color.FromArgb(128,Color.Red)

vb能不能让一个指定的窗口变透明
dwFlags是透明方式,可以取两个值:当取值为LWA_ALPHA时,crKey参数无效,bAlpha参数有效;当取值为LWA_COLORKEY时,bAlpha参数有效而窗体中的所有颜色为crKey的地方将变为透明。LWA_ALPHA = 0x2 LWA_COLORKEY=0x1 要使使窗体拥有透明效果,首先要有WS_EX_LAYERED扩展属性 (旧的sdk没有定义这个属性,所...

用VB做透明的窗体
半透明窗体(窗体对鼠标点击有反应):Option Explicit 'Transparancy API's 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 UpdateLayeredWindow Lib "...

怎么样让VB窗口变透明?
dwFlags是透明方式,可以取两个值:当取值为LWA_ALPHA时,crKey参数无效,bAlpha参数有效;当取值为LWA_COLORKEY时,bAlpha参数有效而窗体中的所有颜色为crKey的地方将变为透明--这个功能很有用:我们不必再为建立不规则形状的窗体而调用一大堆区域分析、创建、合并函数了,只需指定透明处的颜色值即可,...

VB编程中怎么让窗体变成半透明
Private Declare Function SetLayeredWindowAttributes Lib "user32" (ByVal hwnd As Long, ByVal crKey As Long, ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long '实现半透明窗体 Public Sub SetFormTranslucency(hwnd As Long, crKey As Long, bAlpha As Byte, dwFlags As Long)Dim ...

关于VB窗体透明的问题
第一点把Form 的BoderStyle设为0这样就没有窗口了,第二,你那个所谓的黑色是看似近似于黑色,并非纯黑色。这是因为你往窗体上给制的是有Alpha的图像。你若是不绘制图像就会只看到一个空的透明的窗口

vb 怎样制作全透明无边框的窗体,我是小白,希望能具体写下代码。_百度知...
首先,把窗体的BorderStyle属性设为0 然后,输入以下代码:Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal HWnd As Long, ByVal nIndex As Long) As LongPrivate Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal HWnd As Long, ByVal...

vb窗体透明的问题
因为图片是放在控件里的,要让控件不透明或透明,,其方法就是让控件是否透明。用SetLayeredWindowAttributes是让窗体内所有的控件都透明,然后你又想让个别控件不透明,其思路就存在问题了。那应该怎么做呢?只有让控件作为窗体来使用了。。什么意思?你可以自己写控件(只有自己写的控件才好操作),然后在...

如何用VB做出透明的窗体(包括点击窗体时透明,如点击窗体可出现XP系统右...
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 ...

远安县18372475883: 在VB中怎么让窗体透明
诏行生乳: 标准模块代码和窗体LOAD事件代码: Option Explicit Public Declare Function SetLayeredWindowAttributes Lib "user32" (ByVal hwnd As Long, ByVal crKey As Long, ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long Public Const WS_...

远安县18372475883: 怎么样让VB窗口变透明? -
诏行生乳: '函数SetLayeredWindowAttributes ' 使用这个函数,可以轻松的实现半透明窗体.按照微软的要求,透明窗体窗体在创建时应使用WS_EX_LAYERED参数(用CreateWindowEx),或者在创建后设置该参数(用SetWindowLong),我选用后者...

远安县18372475883: 在vb中如何让窗体透明
诏行生乳: Public Declare Function SetLayeredWindowAttributes Lib "user32" (ByVal hwnd As Long, ByVal crKey As Long, ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long Public Const WS_EX_LAYERED = &H80000 Public Const GWL_...

远安县18372475883: 用VB做透明的窗体 -
诏行生乳: 不知道你说的透明是半透明还是全部透明,提供3个例子给你吧: 半透明窗体(窗体对鼠标点击有反应): Option Explicit 'Transparancy API's Private Declare Function SetLayeredWindowAttributes Lib "user32" (ByVal hWnd As Long, ByVal ...

远安县18372475883: VB中怎样将窗体背景设为透明 -
诏行生乳: Private Sub Form_Load() Form1.BorderStyle = 0 Dim Bitmap Me.AutoRedraw = True Bitmap = CreateCompatibleBitmap(Me.hdc, 0, 0) SelectObject Me.hdc, Bitmap '设置窗体透明 End Sub

远安县18372475883: 如何做VB透明窗体
诏行生乳: Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As LongPrivate Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd ...

远安县18372475883: 如何使VB中的窗体控件透明
诏行生乳: '将 Form的 Border设 为 None. '在 Form的 声 明 部 分 加 上 以 下 代 码 : Private Declare Function SetWindowLong Lib "user32" Alias _ "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, _ ByVal dwNewLong As Long) As ...

远安县18372475883: VB如何使窗体透明,而空间不透明 -
诏行生乳: Option Explicit'窗体透明声明 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 "...

远安县18372475883: VB6.0 透明的窗体怎么弄? -
诏行生乳: 设置:窗体的Borderstyle=0 '此时窗体无边框 然后:Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long Private Declare Function SetWindowLong Lib "...

远安县18372475883: VB编程中怎么让窗体变成半透明 -
诏行生乳: 在标准模块定义如下:Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long Private Const WS_EX_LAYERED = &H80000 ...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网