ERP事业部咨询实施客户化开发部
1.1.3.1.3.2 修改第一次弹出就是模态的窗体
可以直接使用通过采用VB窗体的Form.Show (vbModal)的方式,也可以调用ShowForm方法来显示此窗体。
1.1.3.1.3.3 由嵌入Portal的窗体弹出的窗体,
不作修改,如果是模式窗体,请在此窗体上加入UFFormPartner控件 1.1.3.1.4 UFToolbar
的修改
1.1.3.1.4.1 在Settoolbar之前将g_business传入 1.1.3.1.4.2 在Settoolbar之前设置Tag信息
设置微软Toolbar每个Button的Tag信息 调用CreatePortalToolbarTag方法设置 示例:
button.Tag = CreatePortalToolbarTag(―ICON_NEW‖,‖ICOMMON‖,‖PortalToolbar‖) 注意: 严禁创建多次
1.1.3.1.4.2.1 按钮图标
由人机工程部给出完整的图标,并制定相应文件的命名规格 放在%U8SOFT%的icons目录下 直接使用图标的文件名(不需扩展名)
1.1.3.1.4.2.2 按钮分组
常用(ICOMMON):如打开、保存等 编辑(IEDIT):如增行、拷贝单元格等 处理(IDEAL):如审核、分单等 查询(ISEARCH):如过滤、联查等
1.1.3.1.4.2.3 类型
PortalToolbar,目前填入此值即可。
1.1.3.1.4.3 在窗体的Unload事件中加入 Set UFToolbar1.Business = Nothing
第6页 共 329页
ERP事业部咨询实施客户化开发部
1.1.3.1.5 中间过程
1.1.3.1.5.1 判断窗体是否打开
FormIsOpened
1.1.3.1.5.2 设置并激活某个已经存在的窗体
SetFormActive
1.1.3.1.5.3 在显示过程中(窗体已经显示)关闭自身窗体
CloseForm
1.1.3.2 常见问题
程序已经修改,双击门户节点时没有反应,调用状态进不了VB程序; 原因:未正确修改clsProductFacade文件;
窗体已经嵌入到Portal中,但Toolbar的相关信息未转移到门户的工具栏上; 原因:未正确设置每个Button的Tag信息;
1.1.3.3 参考
1.1.3.3.1 ShowForm 显示嵌入Portal的窗体
Public Function ShowForm(ByVal obj As Object, ByVal SubID As String, ByVal sKey As String, Optional modalable As Boolean = False, Optional DockToProtal As Boolean = True, Optional ByVal vfd As Object) As String obj: Form对象; SubID: 子产品号; sKey: Key,注意不能是form的Hwnd,在窗体的生命周期中,此值必须唯一; modalable: 该窗体是否为Model窗口; DockToProtal : 是否要嵌入到Portal中; vfd: 由CreateFormEnv对象的返回对象;
第7页 共 329页
ERP事业部咨询实施客户化开发部
1.1.3.3.2 CreateFormEnv
初始化嵌入Portal的环境
Public Function CreateFormEnv(ByVal sKey As String, ByRef formObj As Object) As VBFormDescriptor sKey: Key,注意不能是form的Hwnd,在窗体的生命周期中,此值必须唯一; formObj: Form对象 1.1.3.3.3 CloseForm 关闭一个已经打开的窗体
Public Function CloseForm(ByVal sKey As String, ByVal obj As Object) sKey: Key,注意不能是form的Hwnd,在窗体的生命周期中,此值必须唯一 obj: Form对象。
1.1.3.3.4 FormIsOpened
判断某个Key值的窗体是否已经打开
Public Function FormIsOpened(ByVal sKey As String) sKey: Key,注意不能是form的Hwnd,在窗体的生命周期中,此值必须唯一;
1.1.3.3.5 CreatePortalToolbarTag
创建Toolbar的Tag信息
第8页 共 329页
ERP事业部咨询实施客户化开发部
Public Function CreatePortalToolbarTag(Image As String, actionSet As String, toolbarType As String) As String Image按钮的图片 actionSet分组 toolbarType分组Toolbar的类型 1.1.3.3.6 SetFormActive 使某个窗口成为当前窗口
Public Function SetFormActive(ByVal sKey As String, ByVal obj As Object) sKey: Key,注意不能是form的Hwnd,在窗体的生命周期中,此值必须唯一 obj: Form对象
1.1.3.4 挂接菜单
自动生成。 菜单的多语名称,将在U8左树菜单里显示 如果是文件夹这里选否 如果控制功能权限,这里就选是 这里选择VB DLL 第9页 VB DLL 时,此项无效。 输入 VB DLL 的完整类名称。 共 329 页 ERP事业部咨询实施客户化开发部
1.1.4 如何开发可与门户集成的.NET User Control
.net user control与门户集成需要建立实现IUserControl接口的组件
1.1.4.1 通过vs.net建立一个项目类型为类库的项目
此处项目名称为UFIDA.U8.UAP.Demo.ProjectManage
1.1.4.2 实现接口IUserControl
在该项目中添加以下DLL的引用
U8安装路径\\UAP\\RUNTIME\\UFIDA.U8.Portal.UAPFacade.dll U8安装路径\\UAP\\Interop.U8Login
U8安装路径\%uap\\UFIDA.U8.Portal.Framework.dll U8安装路径\%uap\\UFIDA.U8.Portal.Proxy.dll U8安装路径.Windows.Form.dll
U8安装路径\%uap\\UFIDA.U8.Portal.Common.dll
第10页 共 329页