程序里,建一工具栏,工具栏的名称与菜单里名称保持一致,如:有一菜单m_21,名称:保存,工具栏也有这一按钮,名称为:保存,现在想单击工具栏时执行m_21_click事件,当然可以通过在工具栏单击事件里写:m_21_click,但这样有很多工具栏按钮,那我不要重复写很多相同代码,我是这样做的:Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)
Dim ctl As Control
For Each ctl In fmain.Controls
If TypeOf ctl Is Menu And Len(ctl.Name) > 3 and ctl.Caption = Button.ToolTipText Then ctl.click
Next
End Sub这样是不行的,只是个思路,回为ctl没有click事件.
简言之:就是单击工具栏,就执行与该工具栏按键有相同名称的菜单事件。在线求解,先谢谢了!
Dim ctl As Control
For Each ctl In fmain.Controls
If TypeOf ctl Is Menu And Len(ctl.Name) > 3 and ctl.Caption = Button.ToolTipText Then ctl.click
Next
End Sub这样是不行的,只是个思路,回为ctl没有click事件.
简言之:就是单击工具栏,就执行与该工具栏按键有相同名称的菜单事件。在线求解,先谢谢了!
解决方案 »
- mshflexgrid单元格的计算问题~~~
- 问一个combo的问题.
- ActiveReports中纸张大小的问题,请大学帮忙
- 想问一下microsoft dbase driver的驱动如何写??
- 窗体大小的控制
- 紧急跪求~~在MDI主窗体中如何使用Resize事件
- 请Playyuer(MVP)、acptvb(微软全球技术中心 VB技术支持)等高手为我解决一个问了多次没有解决的问题!!!
- 能不能用VB在sqlserver建立一个用户,怎么建,谢谢
- 请问如何在中文简体WIN98中输入日文字呢?
- 关于racmgr32的问题?
- 我如何调用将dll中的记录集??
- 数据库恢复问题,请帮帮我!谢谢!!! 我要下列代码恢复数据库弹出“一般性网络错误,请检查网络”的错误
窗体上一个toolbar,4个按纽,其caption分别为save、new、open、close
菜单:
menuedit下有四个子菜单,其caption和按纽的caption相对应,其名称分别为menusave、menunew、menuopen、menuclose
代码:
Option ExplicitPublic Sub menuclose_Click()
MsgBox "close"
End Sub
Public Sub menunew_Click()
MsgBox "new"
End SubPublic Sub menuopen_Click()
MsgBox "open"
End SubPublic Sub menusave_Click()
MsgBox "save"
End SubPrivate Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)
Dim s As String
s = Button.Caption
CallByName Form1, "menu" + s + "_Click", VbMethod
End Sub
但是每个button 的index不一样啊,Select Case Button.Index
case 1
m_21_click
case
……
end select