toolbar 控件小问题

arccpp 2003-12-09 11:29:27
使用toolbar控件时,我看到别人的程序点击工具栏上的按钮时,按钮呈现pressed(压下)状态,再点击其他按钮时,那个呈现pressed状态的按钮就会弹起,而刚刚被点击的按钮就会压下。怎么我的程序我点击工具栏上按钮时button按下后就立马弹起,而不是希望中的压下状态。
如果我在程序中的toolbar_buttonclick事件中通过程序将
toolbar.buttons(index).value的值设置为1(tbrPressed)时倒是可以让被点击的按钮压下,可当我点击工具栏的其他按钮时该按钮却不按照希望的那样弹起来,即使在程序中设置toolbar.buttons(index).value为tbrUnpressed也不行。

是不是我在toolbar的属性哪里设漏了,我找了半天也没找到原因在哪里
...全文
65 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
arccpp 2003-12-10
  • 打赏
  • 举报
回复
northwolves(野性的呼唤):
你好,问题解决,非常感谢,不过我看别人的源码好像没看到类似的代码,也许是我看得不仔细,我回去好好看看。
hereticclub(雪狐):
也很感谢你的热心帮助,可是你的方案对于我的问题并不合适,但我仍然很感谢你
AresChen 2003-12-09
  • 打赏
  • 举报
回复
仔细看看,toolbar控件是有一个group属性的,区分group的方法是,将这一组button的前后用split分开。
毛仁胜 2003-12-09
  • 打赏
  • 举报
回复
在窗体里面放2个OptionBox,名字是Option1和Option2,放一个ToolBar,名字是ToolBar1,将Option1和Option2的Style属性设置为1。
将我的这段代码粘贴到你的工程里测试看看!

Option Explicit

Private Sub Form_Load()
'增加按钮
Toolbar1.Left = Form1.ScaleLeft
Toolbar1.Width = Form1.ScaleWidth
Toolbar1.Buttons.Clear
Toolbar1.Buttons.Add , , , 0 '增加一个普通按钮
Toolbar1.Buttons.Add , , , 3 '增加一个分割符按钮
Toolbar1.Buttons.Add , , , 2 '增加一个按钮组,注意,要整对出现,Style必须是2
'其实上面这一行可以不要,你可以看看如果不要会有些什么出现
Toolbar1.Buttons.Add , "Option1", , 4 '增加一个长度可变的按纽,Style必须是4
Toolbar1.Buttons.Add , "Option2", , 4 '增加一个长度可变的按纽,Style必须是4

Toolbar1.Buttons.Add , , , 2 '增加一个按钮组,注意,前面出现一个,这里要出现一个,Style必须是2
'如果上面的按钮组没有创建,这行也不要
'将OptionBox放入到ToolBar里面
Set Option1.Container = Toolbar1
Set Option2.Container = Toolbar1
Toolbar1.Buttons("Option1").Width = Option1.Width
Toolbar1.Buttons("Option2").Width = Option2.Width
Option1.Top = Toolbar1.Buttons("Option1").Top
Option1.Left = Toolbar1.Buttons("Option1").Left
Option1.Height = Toolbar1.Buttons("Option1").Height

Option2.Top = Toolbar1.Buttons("Option2").Top
Option2.Left = Toolbar1.Buttons("Option2").Left
Option2.Height = Toolbar1.Buttons("Option2").Height


End Sub

代码说复杂也不算复杂,都是一些定位语句,其实可以不要的。
好了,大功告成,给分吧!!!


northwolves 2003-12-09
  • 打赏
  • 举报
回复
呵呵,更新就可以了:
Private Sub Form_Load()
On Error Resume Next
For i = 1 To 8
Toolbar1.Buttons.Add i, Chr(i + 64), i
Next
End Sub
Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)
Button.Value = tbrPressed
Toolbar1.Refresh
MsgBox Button.Caption
End Sub

1,451

社区成员

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

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