给你一个例子吧! Private Sub tbToolBar_ButtonClick(ByVal Button As MSComctlLib.Button) Select Case Button.Key Case "New": mnuFileNew_Click Case "Check": mnuStartCheck_Click end select Private Sub mnuFileNew_Click() frmName.NewData frmName.SetFocus End Sub
Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button) Select Case Button.Key Case "key1" frm_umanagement.Show sql = "select*from Cuser" Set rs = ExecuteSQL(sql) Set frm_umanagement.DataList1.DataSource = rs frm_umanagement.DataList1.DataField = "id" Set frm_umanagement.DataList1.RowSource = rs frm_umanagement.DataList1.ListField = "id" frm_umanagement.DataList1.Refresh frm_umanagement.Top = 160 frm_umanagement.Left = 160 'frm_umanagement.cmd_delete.Enabled = False
'frm_Browse.Hide 'frm_install.Hide 'Call design
Case "key2" frm_Browse.Show frm_Browse.Top = 530 frm_Browse.Left = 2196 'frm_umanagement.Hide 'frm_install.Hide 'Call design Case "key3" If 1 Then PopupMenu Menu_shezhi(0) End If
'frm_install.Show 'frm_Browse.Hide 'frm_umanagement.Hide 'Call design Case "key5" If 1 Then PopupMenu Menu_kaoqin(0) End If
Case "key4" If 1 Then PopupMenu operate(0) End If 'frm_main.Show 'frm_main.Top = 160 'frm_main.Left = 1986 'frm_main.Frame2.Left = 0 'frm_main.Frame4.Left = 10920 'frm_main.Frame6.Left = 21840 'frm_main.Frame16.Left = 32760 'frm_main.Width = 10770
Case "key6"
If 1 Then PopupMenu Menu_gongzi(0) End If
Case "key7" If 1 Then PopupMenu Menu_print(0) End If
Case "key8" If 1 Then PopupMenu Menu_data(0) End If
Case "key9" If MsgBox("你确定要退出本系统么~?~", vbYesNo + vbExclamation, "注意") = vbYes Then frm_main.MSHFlexGrid1.Clear Call qingkong End Else Exit Sub End If
End Select
End Sub 以上是代码 首先你要设置该控件点右键属性--》按钮---》关键字(如上面的 key1---key9) Toolbar1_ButtonClick 这个时间你只需双击该控件就OK了 就这样 OK???
你们的意思我理解为:当点击某个按钮就去调用某个事件,但我要实现的是:我有相当多的MDI子窗体,当点击MDI工具栏上的某个按钮,先判断子窗体为哪个窗体,再调用其相应的事件,如新增,如果当前窗体改变,则调用不同的事件,一个按钮需要对很多窗体服务。 Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button) Select Case Button.Key Case "key1" Call Me.ActiveForm.Command1_Click case "key2" call me.activeform.command2. End Select
End Sub 有人给我这段代码,当我点击工具栏上某按钮,可以调用当前子窗体中的指点按钮事件,但我没有实现,错误在“Call Me.ActiveForm.Command1_Click”出现,说对象不支持的属性或方法。请问如何实现?
给你一段(以前做的): 设置工具状态(通用函数): Public Sub SetButtonS(ByVal BtnStr As String) Dim i As Integer For i = 1 To Len(BtnStr) If Mid(BtnStr, i, 1) = "1" Then MDIFrmMain.TBSystem.Buttons(i).Enabled = True Else MDIFrmMain.TBSystem.Buttons(i).Enabled = False End If Next End Sub 当工具上的按钮点时: Private Sub TBSystem_ButtonClick(ByVal Button As MSComctlLib.Button) On Error GoTo ExitErr Select Case Button.Index Case 1 Screen.ActiveForm.TInsert Case 2 Screen.ActiveForm.TSave Case 3 Screen.ActiveForm.TDelete Case 4 Screen.ActiveForm.TUpdate Case 6 Screen.ActiveForm.TFirst Case 7 Screen.ActiveForm.TPrevious Case 8 Screen.ActiveForm.TNext Case 9 Screen.ActiveForm.TLast Case 11 Screen.ActiveForm.TClear Case 12 Screen.ActiveForm.TPreview Case 13 Screen.ActiveForm.TPrint Case 14 Screen.ActiveForm.TQuit Case 16 Screen.ActiveForm.THelp End Select Exit Sub ExitErr: Unload Me End Sub 然后分别在各个窗体中设置如上的过程,方法如下: Public sub TAdd() with adodc1.recordset .add .fields("FirstName").value=text1 .fields("LastName").value=text2 .update end with end sub 就可以了。你试试,不行再给我发短信息。
忘记了你的说明是这样的: 只需要在 Public Sub TAdd cmdadd_Click end sub
to kJ_wang(平凡):谢谢,用此方法搞定。Screen.ActiveForm.TAdd这句帮了大忙。一定给分!
做工具条就是加载一个TOOLBAR了,
然后给他一个IMAGELIST了,
对工具栏实行CLICK()事件,让其选择单击哪个按钮做什么事情了.
所做的事情对应于哪一个窗体.
Private Sub tbToolBar_ButtonClick(ByVal Button As MSComctlLib.Button)
Select Case Button.Key
Case "New":
mnuFileNew_Click
Case "Check":
mnuStartCheck_Click
end select
Private Sub mnuFileNew_Click()
frmName.NewData
frmName.SetFocus
End Sub
Select Case Button.Key
Case "key1"
frm_umanagement.Show
sql = "select*from Cuser"
Set rs = ExecuteSQL(sql)
Set frm_umanagement.DataList1.DataSource = rs
frm_umanagement.DataList1.DataField = "id"
Set frm_umanagement.DataList1.RowSource = rs
frm_umanagement.DataList1.ListField = "id"
frm_umanagement.DataList1.Refresh
frm_umanagement.Top = 160
frm_umanagement.Left = 160
'frm_umanagement.cmd_delete.Enabled = False
'frm_Browse.Hide
'frm_install.Hide
'Call design
Case "key2"
frm_Browse.Show
frm_Browse.Top = 530
frm_Browse.Left = 2196
'frm_umanagement.Hide
'frm_install.Hide
'Call design
Case "key3"
If 1 Then
PopupMenu Menu_shezhi(0)
End If
'frm_install.Show
'frm_Browse.Hide
'frm_umanagement.Hide
'Call design
Case "key5"
If 1 Then
PopupMenu Menu_kaoqin(0)
End If
Case "key4"
If 1 Then
PopupMenu operate(0)
End If
'frm_main.Show
'frm_main.Top = 160
'frm_main.Left = 1986
'frm_main.Frame2.Left = 0
'frm_main.Frame4.Left = 10920
'frm_main.Frame6.Left = 21840
'frm_main.Frame16.Left = 32760
'frm_main.Width = 10770
Case "key6"
If 1 Then
PopupMenu Menu_gongzi(0)
End If
Case "key7"
If 1 Then
PopupMenu Menu_print(0)
End If
Case "key8"
If 1 Then
PopupMenu Menu_data(0)
End If
Case "key9"
If MsgBox("你确定要退出本系统么~?~", vbYesNo + vbExclamation, "注意") = vbYes Then
frm_main.MSHFlexGrid1.Clear
Call qingkong
End
Else
Exit Sub
End If
End Select
End Sub
以上是代码
首先你要设置该控件点右键属性--》按钮---》关键字(如上面的 key1---key9)
Toolbar1_ButtonClick 这个时间你只需双击该控件就OK了
就这样
OK???
Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)
Select Case Button.Key
Case "key1"
Call Me.ActiveForm.Command1_Click
case "key2"
call me.activeform.command2.
End Select
End Sub
有人给我这段代码,当我点击工具栏上某按钮,可以调用当前子窗体中的指点按钮事件,但我没有实现,错误在“Call Me.ActiveForm.Command1_Click”出现,说对象不支持的属性或方法。请问如何实现?
设置工具状态(通用函数):
Public Sub SetButtonS(ByVal BtnStr As String)
Dim i As Integer
For i = 1 To Len(BtnStr)
If Mid(BtnStr, i, 1) = "1" Then
MDIFrmMain.TBSystem.Buttons(i).Enabled = True
Else
MDIFrmMain.TBSystem.Buttons(i).Enabled = False
End If
Next
End Sub
当工具上的按钮点时:
Private Sub TBSystem_ButtonClick(ByVal Button As MSComctlLib.Button)
On Error GoTo ExitErr
Select Case Button.Index
Case 1
Screen.ActiveForm.TInsert
Case 2
Screen.ActiveForm.TSave
Case 3
Screen.ActiveForm.TDelete
Case 4
Screen.ActiveForm.TUpdate
Case 6
Screen.ActiveForm.TFirst
Case 7
Screen.ActiveForm.TPrevious
Case 8
Screen.ActiveForm.TNext
Case 9
Screen.ActiveForm.TLast
Case 11
Screen.ActiveForm.TClear
Case 12
Screen.ActiveForm.TPreview
Case 13
Screen.ActiveForm.TPrint
Case 14
Screen.ActiveForm.TQuit
Case 16
Screen.ActiveForm.THelp
End Select
Exit Sub
ExitErr:
Unload Me
End Sub
然后分别在各个窗体中设置如上的过程,方法如下:
Public sub TAdd()
with adodc1.recordset
.add
.fields("FirstName").value=text1
.fields("LastName").value=text2
.update
end with
end sub
就可以了。你试试,不行再给我发短信息。
只需要在
Public Sub TAdd
cmdadd_Click
end sub
TO:snail2011(尘潇) 如何给它一个image list,为何我的工具条属性中图像列表总是”无“,我该如何处理,谢谢!另外,工具条中那么多属性设置,都是什么意思,有谁能给点资料我看看或给我讲讲,重谢!
右健点击IMAGELIST出现工具条,然后取取其属性,
在"通用"列表处一般选取16*16这是指"图标的高度和宽度",在其"图像"列表,
点击"插入图片"选取你所插入的图片,索引会自动加1的,在"关健字"后的文本框中输入你对此图像的命名.可以在程序中调用.工具栏和IMAGELIST中的图像排列顺序最好一样.(不一样有时会出现一点小问题的喔:)):如我插入一个图片命名为"NEW"
TOOLBAR中的点开属性同IMAGELIST一样,对于"通用"页的话,大都是调工具栏的外观的,
有一项"热用图像列表"你可以选取你要对此工具栏的IMAGELEST,但我本人认为不要选取比较好,
然后你在"按钮"列表中点击"插入"按钮,索引会自动加1,我在"标题栏输入"这个按钮的名称.在"关健字"地方输入的就是你给予图像的名称.如"NEW",则可以加载这个图像了.工具栏提示文本也输入的就是你要做的事比如"新建***".我不知道我请清楚了没有,
给你一此网页去看看
http://www.pconline.com.cn/pcedu/empolder/gj/vb/10201/28428.html
http://hanburger.myetang.com/VbSkill/vb16.htm