天圆液压产品中心
基于VS2005打造绗磨管高效Pro/Toolkit开发环境(2)
| 在前面的事变中,已经类型了菜单计划,然而这种菜单计划照旧一种文本式编辑模式。若菜单比伟大时,仅靠手工来界说这些数组,仍需较大事变量来完成。这一点可通过菜单的可视化计划获得改进,VS开拓情形已经提供一个菜单可视化编辑器,必要做的只是怎样操作这个可视化编辑器来计划Pro/Toolkit菜单。通过研究VS的菜单资源文件(ProToolkit_Wizard.rc)发明VS的菜单资源是用很是简朴的语法组织起来的,可操作编译前处理赏罚变乱在措施编译前将其理会为菜单数组,就能把VS2005菜单转换为Pro/Toolkit菜单,天圆液压缸筒,从而实当代码和资源的自动编码。下面是VS菜单资源代码界说: BEGIN TK_Menu_Fuc.h…………菜单回调函数阐明,声明如下 在ProToolkit_Wizard.cpp文件user_initialize()函数中添加下面代码,建设菜单: //General
到此,一个相对完备的Pro/Toolkit项目框架便已成立,且措施能自动建设菜单项,将代码写在TK_Menu_Fuc.cpp响应的函数中(好比:Menu1_fun),即能通过菜单执行。 TKMenuData MenuArray[]={ POPUP"Menu1" create_menu_src措施除了可以天生菜单数组和对应的菜单资源外,还可以按照从StringTable得到的信息,自动实现函数的阐明和界说,从而实当代码的快速计划。默认代码为: { { function AddConfig(proj,strProjectName) //成立菜单 (2)类型包括文件和库文件的配置,将其配置在项目属性中并引入ProeLoadpoint宏变量,利便差异用户和开拓情形的切换。 1.2 扩显现成Pro/Toolkit DLL项目 BEGIN //成立子菜单 LinkTool.IgnoreDefaultLibraryNames="msvcrt.lib";//忽略msvcrt.lib,不然会发生一个warning END { BEGIN //Add linker dependencies
通过以上事变,用户在Pro/Toolkit开拓成立项目时,只必要选择Pro/E版本,领导即能从头天生前面完成的框架,不必要编写一行代码,措施就可以通过编译。 然而,做到这一步还穷乏一个很是重要的成果——措施菜单。为给措施添加菜单,先成立一个ProToolkit_Menu.txt文件用于菜单必要用到的文本资源,然后将菜单成果函数模块化来实现菜单的快速计划。在此新建4文件,其名称及浸染如下: IDR_TK_MENU MENU config.InheritedPropertySheets=".\\user_macro.vsprops";//自动添加user_macro var config=proj.Object.Configurations('Debug');//Debug情形 TK_Menu_Strct.h………菜单资源数组阐明,将菜单资源界说为一个布局体,并将建设菜单全部必要的信息都包括该布局体中。 先用VS2005成立一个“自界说领导”项目,回收UI支持,便于得到差异版本Pro/Toolkit开拓所需信息;然后将前面成立的文件拷贝到“自界说领导”项目中,并对部门文件举办须要的编辑。假如但愿后续所建项目能自动改名,则将要变换的处所包罗文件名改为VS指定的要害字(好比root、[!output CLASS_NAME]等),便可以实此刻新项目中恰当位置自动转换。“自界说领导”项目标Templates.inf文件节制了必要添加到新项目中的文件,全部必要添加到新项目标文件名都必要写入该文件。 本文是VS2005 Wizard技能在Pro/Toolkit开拓中的实践履历总结,通过客制化的领导快速成立代码框架清楚、成果完备、易于扩显现的Pro/Toolkit项目。Pro/Toolkit措施菜单快速计划要领、菜单回调函数的自动声明和界说的应用,大大进步了开拓服从,促进了Pro/Toolkit开拓的成长。 1.1 成立尺度MFC DLL项目 for(int i=0;i TK_Menu_Fuc.h………int MenuName_fun(); if(!MenuArray[i].SubMenu); {"ProToolkit_Wizard_Menu","Menu1","-Menu1","-Menu1_1 Help",PRO_B_FALSE,"redo.bif",(uiCmdCmdActFn) Menu1_fun,NULL }} ID_32774"fuc1_3,," POPUP"Demo" (1)类型菜单计划要领,用户必要添加菜单,修改TK_Menu_Array.h菜单资源数组即可; //通过for轮回读取MenuArray数组中的信息建设菜单 END } STRINGTABLE } BEGIN MENUITEM"menu2_1",ID_32776 POPUP"Menu2" MENUITEM"Menu1_1",ID_32772 1.3 项目改造点 TK_Menu_Array.h………菜单资源数组界说,包括TK_Menu_Strct.h和TK_Menu_Fuc.h,并在ProToolkit_Wizard.cpp包括它,用户可以在此完美菜单数组的界说。 { } END Pro/Toolkit、Pro/J-link和Pro/Web.link是PTC提供应客户的三种客制化器材,个中以Pro/Toolkit的成果最为强盛,能会见大部门Pro/E底层资源,也是当前海内研究得最多的开拓方法。今朝海内对Pro/Toolkit的运作方法和焦点技能举办了深入研究,并取得了厚实的成就,但因为Pro/Toolkit 是从Unix体系移植过来的,且PTC提供的开拓文档和典型是回收MakeFile模式举办,这些都进步了Pro/Toolkit开拓门槛,限定了Pro/Toolkit开拓的成长。其它,固然Pro/Toolkit支持MFC DLL开拓模式,但仍必要做诸多窜改才可以编译出正确的DLL文件。 ID_32772"fuc1_1,edit.gif,FullAccessAvailable" 作为Pro/Toolkit开拓的用户可能初学者必要频仍成立项目,重复一再上述举措是费时艰辛的事变。回收VS2005开拓情形提供自界说领导成果,可一劳永逸地办理这个题目。 END
从这些信息中可得到菜单名称和菜单布局(层级相关),但这些信息还不敷以计划Pro/Toolkit菜单。还需将Pro/Toolkit菜单的标签和提醒信息举办类型:划定菜单标签=“-Menu Name”、菜单辅佐=“-Menu Name Help”,然后将Pro/Toolkit菜单回调函数、菜单图标、菜单权限函数界说在VS菜单属性的“prompt”属性中(可以在StringTable中得到)。StringTable布局如下: ProStringToWstring (UserMenuMsg,"ProToolkit_Wizard_menu.txt"); 2 通过VS编译变乱进步开拓服从 1 行使VS2005自界说领导,成立Pro/Toolkit措施模板 var LinkTool=config.Tools('VCLinkerTool'); //Compiler "Utilities",PRO_B_FALSE,UserMenuMsg); 本文基于应用措施快速开拓(Rapid Application Development, RAD)的头脑,首要接头操作VS2005 自界说领导成果,建造能快速开拓Pro/Toolkit措施的领导(Wizard)。同时叙述怎样通过VS编译变乱实当代码和资源的自动编码,实现简朴高效开拓。 事变做到这一步,便已成立了新的代码框架,但措施无法通过编译,因此最后必要为其配置Pro/Toolkit开拓情形。开拓情形的配置有两种要领:一种是成立一个用户属性表,在属性表中配置开拓情形,新建项目可以通过自动担任项目属性表来完成;另一种是通过“自界说领导”项目标default.js(语法为Jscript,非JavaScript)文件AddConfig函数来配置。下面给出js代码示例,具体计划可以参考MSDN: int Menu1_fun(){AfxMessageBox("Menu1_fun");return 0;} MENUITEM"Menu1_1",ID_32773 2.2 Pro/Toolkit代码的自动实现 3 总结 int Menu1_fun(); (责任编辑:admin) |
- [ 18-11-06 ]换向阀中位性液压站能特点及应用留意
- [ 18-10-09 ]公制螺纹、BS液压油缸PP螺纹ED密封油
- [ 18-09-11 ]很是具体的液液压站压阀块计划履历总
- [ 18-09-11 ]液压节液压站制技能的革命
- [ 16-09-14 ]联轴珩磨管器选择方法
- [ 16-07-17 ]怎样避免缸筒液压站冲击危害?
- [ 16-07-17 ]液压动力单元液不锈钢缸筒压齿轮泵的
