关于Toolbar的透明样式设置问题!

Sandrer 2007-07-16 09:38:09
版本:comctl32.ocx 5.0

以下是我设置透明的代码:

Const WM_USER = &H400
Const TB_SETSTYLE = (WM_USER + 56)
Const TB_GETSTYLE = (WM_USER + 57)
Const TBSTYLE_FLAT = &H800
Const TBSTYLE_TRANSPARENT = &H8000

Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wmsg As Long, ByVal wparam As Long, lParam As Any) As Long

Private Sub Command1_Click()
Dim nStyle As Long
Dim rtn As Long
Dim lWin As Long
lWin = FindWindowEx(Toolbar1.hWnd, 0, "ToolbarWindow32", vbNullString)
nStyle = SendMessage(lWin, TB_GETSTYLE, 0&, 0&)
Debug.Print nStyle
nStyle = nStyle Or TBSTYLE_FLAT
Debug.Print nStyle '设置Toolbar平面效果
nStyle = nStyle Or TBSTYLE_TRANSPARENT
Debug.Print nStyle '注:这里打印出来的数值为负数,可能问题出在这里?
rtn = SendMessage(lWin, TB_SETSTYLE, 0&, ByVal nStyle)
Toolbar1.Refresh
End Sub


执行上面的代码后,平面效果是有了,但是透明效果却~~~~~~~~~~~
而且不止没有透明效果,整个Toolbar变成了禁用状态的样子,但是却还可以点击上面的按钮,这个怎么解决?
...全文
388 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Sandrer 2007-12-01
  • 打赏
  • 举报
回复
呵呵,我自己解决了~
原来用CreateWindowEx函数创建Toolbar后,这个Toolbar就已经拥有透明效果了
lingll 2007-08-19
  • 打赏
  • 举报
回复
用comctl32.ocx 6.0 吧,自带的就有平面效果
Sandrer 2007-07-18
  • 打赏
  • 举报
回复
没人知道吗?都提问了这么久了居然没有一个回答!

1,485

社区成员

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

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