请问怎么让窗体的标题栏实现半透明效果??

odinZ 2006-03-23 10:11:39
请问怎么让窗体的标题栏实现半透明效果??

注意了,不是整个窗体半透明,而是只有窗体的标题栏是半透明的
应该怎么实现啊?/谢谢先@!
...全文
272 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
loadagain 2006-03-31
  • 打赏
  • 举报
回复
标题栏还有是么句柄,瞎说是么啊你们
odinZ 2006-03-29
  • 打赏
  • 举报
回复
就没有高手指点了吗?/怎么获取标题栏的句柄
odinZ 2006-03-25
  • 打赏
  • 举报
回复
朋友你找到了吗?/如果找到了,可以加我的QQ:27598517 传一个给我!嘿嘿,谢谢先!
AnnaBear 2006-03-25
  • 打赏
  • 举报
回复
我也想知道
去论坛搜索没找到相关的
odinZ 2006-03-25
  • 打赏
  • 举报
回复
51365133(渊海)

大哥,请问用什么API函数来获得标题栏的句柄啊?/谢谢先!
51365133 2006-03-25
  • 打赏
  • 举报
回复
rtn = GetWindowLong(Me.hwnd, GWL_EXSTYLE)
rtn = rtn Or WS_EX_LAYERED
SetWindowLong Me.hwnd, GWL_EXSTYLE, rtn
修改,得到句柄指向标题栏
51365133 2006-03-25
  • 打赏
  • 举报
回复
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_ALPHA = &H2
Const LWA_COLORKEY = &H1
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 Sub Form_Load()
Dim rtn As Long
rtn = GetWindowLong(Me.hwnd, GWL_EXSTYLE)
rtn = rtn Or WS_EX_LAYERED
SetWindowLong Me.hwnd, GWL_EXSTYLE, rtn
SetLayeredWindowAttributes Me.hwnd, 0, 100, LWA_ALPHA
' 可以根据需要调整透明度,我这里用的是100
End Sub
cxianfa 2006-03-23
  • 打赏
  • 举报
回复
这个我好像下了一个实例
我找找看。找到了给你

1,486

社区成员

发帖
与我相关
我的任务
社区描述
VB API
社区管理员
  • API
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧