当前位置:编程学习 > VB >>

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 As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As LongPrivate 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 = &H80000Private Const GWL_EXSTYLE = (-20)Private Const LWA_ALPHA = &H2Private Const LWA_COLORKEY = &H1Dim rtn As Long
Private Sub Form_Load()
rtn = GetWindowLong(hwnd, GWL_EXSTYLE)rtn = rtn Or WS_EX_LAYEREDSetWindowLong hwnd, GWL_EXSTYLE, rtnSetLayeredWindowAttributes hwnd, 0, 120, LWA_ALPHAEnd Sub
可以呀

控件不具有透明属性呀,但他有隐藏属性,他的透明度跟窗体的透明度一致

把控件隐藏了那控件上的字不是也看不见了吗? 那这样的话就没有透明的意义了!

我目前的解决方法是把控件的背景颜色设置为控件下面的的底色!  求更好的方法...............

控件透明,你让它不可视不就行了visible=false

名称是不可视  

在控件的属性设置里设置控件的visible=false

 

能的

上一个:如何用VB关闭动态标题的窗口
下一个:VB数组排序有哪些个方法

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,