工业单据叙事簿 添加菜单和现实在工具栏上VB插件/*
t_bandtoolmapping解释: FID,FBandID,FToolID,FSubBandID,FIndex,FComName,FBeginGroup FID 是放到那种类型下面 FID=82 表示外购入库 FID是这里的FmenuID :select FID,FmenuID,* from iclisttemplate where Fname LIKE '%外购入库%' FBandID 是菜单的位置,1表示放到1级栏目下,2表示放在文件下面,3表示放在编辑下面,4表示放在查看下面,5表示放在格式下面,53表示放在工具栏上 */ --增加一个按钮菜单, insert into t_MenuToolBar ( FToolID,FName,FCaption,FCaption_CHT,FCaption_EN,FImageName,FToolTip,FToolTip_CHT,FToolTip_EN,FControlType,FVisible,FEnable,FChecked,FShortCut,FCBList,FCBList_CHT,FCBList_EN,FCBStyle,FCBWidth,FIndex,FToolCaption,FToolCaption_CHT,FToolCaption_EN) values (10002,'FMenuPC1','序事簿菜单','序事簿菜单','序事簿菜单','39','序事簿菜单','序事簿菜单','序事簿菜单',0,0,1,0,0,'','','',0,0,0,'序事簿菜单','序事簿菜单','序事簿菜单') --执行下面的代码才能在菜单上看到我们需要的效果,要不然,菜单是隐藏状态的(如果里面有"|V",则只能在后面加菜单项),可支持多个自定义菜单 Update IclistTemplate set FLogicStr=FLogicStr+ Case When Right(FLogicStr,1)='|' then 'V:FMenuPC1' else '|V:FMenuPC1' end where FID =1 and not FLogicStr like '%FMenuPC1%' --加到菜单头上,可以不用的 insert into t_BandToolMapping(FID,FBandID,FToolID,FSubBandID,FIndex,FComName,FBeginGroup) values(82,1,10002,6,6,'|ICMOListBill.ListBill',0) --加到文件菜单下面 insert into t_BandToolMapping(FID,FBandID,FToolID,FSubBandID,FIndex,FComName,FBeginGroup) values(82,2,10002,0,17,'|ICMOListBill.ListBill',0) --加到编辑菜单下面 insert into t_BandToolMapping(FID,FBandID,FToolID,FSubBandID,FIndex,FComName,FBeginGroup) values(82,3,10002,0,18,'|ICMOListBill.ListBill',0) --加到查看菜单下面 insert into t_BandToolMapping(FID,FBandID,FToolID,FSubBandID,FIndex,FComName,FBeginGroup) values(82,4,10002,0,70,'|ICMOListBill.ListBill',0) --加到格式下面 insert into t_BandToolMapping(FID,FBandID,FToolID,FSubBandID,FIndex,FComName,FBeginGroup) values(82,5,10002,0,74,'|ICMOListBill.ListBill',0) --加到工具栏上 insert into t_BandToolMapping(FID,FBandID,FToolID,FSubBandID,FIndex,FComName,FBeginGroup) values(82,53,10002,0,189,'|ICMOListBill.ListBill',0) --好像没什么实际意思 insert into t_BandToolMapping(FID,FBandID,FToolID,FSubBandID,FIndex,FComName,FBeginGroup) values(82,56,10002,0,5,'|ICMOListBill.ListBill',0) 在ICMOListBill.ListBill里面主要实现一个MainFunction 方法 实例代码: Public Sub MainFunction(ByVal sKey As String, oList As Object, ByRef bCancel As Boolean) Dim vectors As KFO.Vector If sKey = "FMenuPC1" Then Set vectors = oList.getselected MsgBox vectors.Item(1).finterid MsgBox oList.ListSelectBillinfo(1)("FInterID") end if End Sub 只要在VB里面编辑成DLL,然后用我上面的代码注册下插件,然后我们进K3,就会在我们的工具栏上和菜单栏 |
|