U8界面按钮二次开发手册

更新时间:2023-12-20 04:22:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

U8界面按钮二次开发手册

适用范围

U8ToolBar原则上都可以支持二次开发行为,但由于某些界面没有这方面的需求,所以并没有支持二次开发功能

如何检查是否支持二次开发

在一个界面上同时按住Ctrl+Shift并点击任何一个按钮,这样你所需要的信息将被Copy到写字板(附件中的写字板)上,(注意不是记事本notepad)。

数据预置

数据预置在Meta库中的Meta数据库,表AA_CustomerButton中。

说明: 字段名 cButtonID cButtonKey cButtonType 说明 按钮ID,GUID 按钮Key default表示一般按钮, menu表示菜单, system表示替换系统按钮的功能,执行自己的方法。 不允许使用U870项目号,客户化项目用U8CustDef 无用 单据的Key 如果cButtonType是default则此键表示自定义按钮前的按钮key 如果cButtonType是menu则表示菜单所在的按钮 如果cButtonType是system则表示需要替换的按钮key 无用 分组IEDIT,ICOMMON 组件名 标题 语种 zh-cn, zh-tw,en-us 图标的文件名 快捷键如Ctrl+A 是否内部命令,设置为1 cProjectNO cFormKey cVoucherKey cKeyBefore iOrder cGroup cCustomerObjectName cCaption cLocaleID cImage cHotKey bInneralCommand cVariant cVisibleAsKey cEnableAsKey 自定义内容,里面的值会传给处理的组件 设置显示状态与系统的那个按钮键值一致 设置Enable状态与系统的那个按钮键值一致

销售订单的数据预置脚本

销售订单的保存按钮后面增加一个按钮的脚本

INSERT INTO [AA_CustomerButton]([cButtonID], [cButtonKey], [cButtonType], [cProjectNO], [cFormKey], [cVoucherKey], [cKeyBefore], [iOrder], [cGroup], [cCustomerObjectName], [cCaption], [cLocaleID], [cImage], [cToolTip], [cHotKey], [bInneralCommand], [cVariant], [cVisibleAsKey], [cEnableAsKey])

VALUES(newid(), 'btntest','default', 'U8CustDef', '17', '17','save', '0', 'IEDIT','U8Test.mytestclass','测试', 'zh-cn','','测试','Ctrl+N',1,'测试数据','save','save')

注意:U8Test.mytestclass类需要注册,否则会报Activex不能创建对象。

直接替换销售订单的保存按钮按钮的脚本

INSERT INTO [AA_CustomerButton]([cButtonID], [cButtonKey], [cButtonType], [cProjectNO], [cFormKey], [cVoucherKey], [cKeyBefore], [iOrder], [cGroup], [cCustomerObjectName], [cCaption], [cLocaleID], [cImage], [cToolTip], [cHotKey], [bInneralCommand], [cVariant], [cVisibleAsKey], [cEnableAsKey])

VALUES(newid(), 'btntest2','system', 'U8CustDef', '17', '17','save', '0', 'IEDIT','U8Test.mytestclass','测试', 'zh-cn','','测试','Ctrl+N',1,'测试数据','save','save')

注意:U8Test.mytestclass类需要注册,否则会报Activex不能创建对象。 需要将\注册成COM组件

方法[如果是C#开发的话]:cmd下输入以下内容:

\regasm” \你的DLL程序集名称\

组件接口

新建一个VB类,并写入以下方法即可 ‘执行按钮,objVoucher为单据或列表对象 ‘VarentValue为在表中预置的cVariant的值。

Public Function RunCommand(ByVal objLogin As Object, ByVal objForm As Object, ByVal

objVoucher As Object, _

ByVal sKey As String, ByVal VarentValue As Variant, ByVal other As String)

End Function

‘初始化

Public Function Init(ByVal objLogin As Object, ByVal objForm As Object, ByVal objVoucher As Object, msbar As Object)

End Function

‘在执行系统按钮只前调用,Cancel后会不再执行系统方法。

Public Function BeforeRunSysCommand(ByVal objLogin As Object, ByVal objForm As Object, ByVal objVoucher As Object, _

ByVal sKey As String, ByVal VarentValue As Variant, ByRef Cancel As Boolean, ByVal other As String) Cancel = False End Function

本文来源:https://www.bwwdw.com/article/0cw5.html

Top