K3Wise如何添加一个新功能(二)--嵌入到k3主控台应用程序

栏目:k3wise知识作者:金蝶来源:金蝶云社区发布:2024-09-16浏览:1

K3Wise如何添加一个新功能(二)--嵌入到k3主控台应用程序

K3Wise如何添加一个新功能(一)中已经介绍了如何再主控台添加一个功能

现在介绍如何点击这个功能打开一个嵌入到k3主控台里的。

参考内容:K3Wise如何添加一个新功能(一) https://wenku.my7c.com/link/s/MuV1V 

1.首先添加一个新功能链接:

insert into t_DataFlowDetailFunc(FDetailFuncID,FFuncName,FFuncName_CHT,FFuncName_EN,FSubFuncID,FIndex,FClassName,FClassParam,FIsNormal,FHelpCode,FVisible,FAcctType,FFuncType,FEnable)

values(60160103,'嵌入功能演示','嵌入功能演示','New app demo',601601,3,'UsrPrj.Application',60160103,0,51062,1,',1,2,3,4,5,6,7,9,10,11,12,13,16,17,14,15,',0,1)

update t_DataFlowTimeStamp

set FName = FName

GO

image.webp

点击新功能提示:

image.webp

2.打开VB6开发工具

image.webp

选择ActiveX DLL,打开

image.webpimage.webp

分别修改工程名和类名为:UsrPrj,Application(与上面的脚本的FClassName保持一致),修改完成后保存工程。

3.实现K3功能链接接口

为工程添加引用:Project->References;Browse...选择k3erp目录下的k3bbi.tlb文件;要开发vb二开项目,开发机上必须要安装对应版本的K3应用程序。

image.webp

4.再Application类中添加继承接口代码implements IBizConsole,以及实现接口的代码:

image.webp

60160103为脚本插入的FDetailFuncID

image.webp

代码编写完毕,后编辑组件,并将组件放到k3erp目录下之后用Regsvr32注册组件;

image.webp

regsvr32  "D:\Program Files (x86)\Kingdee\K3ERP\UsrPrj.dll"

5.重新打开K3查看效果;

image.webp

6.再工程中添加一个[窗体]对象,添加完之后给窗体重命名为frmMain(取一个自己喜欢的名字)

image.webp

并再窗体上添加一些控件(本例中添加了一个lable控件,caption设置为二开的一个窗体。)


image.webp

修改Application代码,

image.webp

编译、替换、注册后,重新打开k3查看效果

image.webp

7.如何做到将框体嵌入到主控台里去(这样做的目的是让二开的功能看上去和K3是一个整体,看上去舒适一些。)?

类似于【生产任务单序时簿】,再主控台中有一个页签定位它。

image.webp

8.在frmMain窗体中,添加控件Active Bar 3.0;Project->Components

image.webp

点击应用;这一步是必须的,要想做嵌入窗体就必须添加一个Acitvebar,否则会引起无法关闭功能.(开发环境必须有控件的授权,否则是无法正常使用的,如下图,没有授权。)

image.webp

获得正版许可之后,重新打开工程,编辑菜单(为了演示,做一个最简单的菜单)

image.webp

9.再工程中添加类(类名改为填自己喜欢的),ILoadCtrlListener为K3BBI中的接口

image.webp

10.修改Application类代码:

image.webp

"UsrPrj"为当前工程名,"嵌入功能演示"为主控台标签想要显示内容,“UserPrj.CApp”为一个新入口类。

11.添加CApp类,用它来调frmMain;

image.webp

12.修改frmMain代码,来响应主控台融合事件 

image.webp

kdvbf.ParentWindow需要引用kdvbf.dll

image.webp

abSubMenu,是frmMain窗体activexbar控件的ID

image.webp



编译、替换、注册

查看效果:

image.webp


(完)


不推荐使用主控台融合ocx的方式来开发功能,ocx容易因为运行时控件授权码异常无法正常打开功能,使用form的方式去融合就不存在此类问题,可以放心使用。


附件为本文完整项目代码。

UsrPrj.rar

K3Wise如何添加一个新功能(二)--嵌入到k3主控台应用程序

再K3Wise如何添加一个新功能(一)中已经介绍了如何再主控台添加一个功能现在介绍如何点击这个功能打开一个嵌入到k3主控台里的。参考内容:K3...
点击下载文档
分享:
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息