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数组排序有哪些个方法