环境
开发环境:VB6.0
引用:ActiveBar3.0
没有ActiveBar3.0的伙伴点击此连接下载–actbar3.ocx
实现
使用VB插件开发向导选择我们的工业老单
增加个自定义菜单
选择主要的两个单据事件:
BillInitialize :单据初始化事件;UserMenuClick:菜单点击事件
Private Sub m_BillTransfer_BillInitialize()
'引用ActiveBar3Library
Dim oBand As ActiveBar3Library.Band
Dim oTool As ActiveBar3Library.Tool
Dim vShortcut(0) As New ActiveBar3Library.ShortCut
Dim lIndex, lBand As Long
'*************** 开始设置菜单 ***************
m_BillTransfer.AddUserMenuItem "快捷键", ""
' -----------------开始设置快捷键-----------------------
vShortcut(0).Value = "Shift+F1"
For lBand = 1 To m_BillTransfer.BillForm.ABar.Bands.Count - 1
Set oBand = m_BillTransfer.BillForm.ABar.Bands(lBand)
' MsgBox oBand.Name
If oBand.Name = "mnuUserDef" Then
For lIndex = 1 To oBand.Tools.Count - 1
Set oTool = oBand.Tools(lIndex)
'MsgBox oTool.Caption
If oTool.Caption = "快捷键" Then
oTool.ShortCuts = vShortcut
End If
Next
End If
Next
' -----------------结束设置快捷键-----------------------
'*************** 结束设置菜单 ***************
End Sub
此逻辑是用来设置快捷键,可以组合快捷键,也可以单快捷键。
亲测金蝶K3版本的快捷键基本都设置了,剩F10和F11,F11没反应,只有F10可以,所有为了不冲突还是用组合键比较好。
Private Sub m_BillTransfer_UserMenuClick(ByVal Index As Long, ByVal Caption As String)
'TODO: 请在此处添加代码响应事件 UserMenuClick
Select Case Caption
Case "快捷键"
'此处添加处理HistoryPrice 菜单对象的 Click 事件
'MsgBox "点击“快捷键”OK"
Set Form = New Form1
Set Form.m_BillTransfer = m_BillTransfer
Form.Show 1
Case Else
End Select
End Sub
此为响应快捷键所需执行的动作,我设置的是默认打开一个窗口。效果入下图:
暂时就分享到这里,