? 命令(Command)从菜单条或工具栏图标激活的一个执行过程; ? 命令标识号(Command id)指向某一命令的指针。一般作为Pro/TOOLKIT
函数的输入参数;
? 动作命令(Action command)启动菜单按钮执行的一组指令; ? 选项命令(Option command)基于界面元素的状态执行的一组指令。该
命令由菜单筛选按钮和菜单单选按钮组启动。
本设计要求所设计的菜单风格与Pro/ENGINEER一致,即将菜单添加到Pro/ENGINEER的菜单栏,在其下拉菜单项菜单中要求有各种类型的弹簧,每种类型弹簧的下级子菜单中包含其相应的弹簧类型,如圆柱螺旋弹簧包括圆截面圆柱螺旋压缩弹簧、圆柱螺旋拉伸弹簧等。
4.1.1 编写菜单信息资源文件
信息资源文件用于提供菜单的标签文本(包括其他语言版本的标签)和帮助信息,如果要向Pro/ENGINEER中添加菜单,就必须使用信息资源文本,否则所添加的菜单不会在Pro/ENGINEER菜单栏中出现。
信息资源文件是一种ASCII码文件,用来定义菜单项、菜单项提示等信息,可以用记事本和写字板等文字处理软件建立,也可在VC的集成开发环境中建立,但必须与纯文本格式保存。在信息文件中以4行为一组,其含义为:
第1行:Pro/ENGINEER系统可以识别的关键字。该关键字必须与使用该信息文件函数中的相关字符串相同。
第2行:在菜单项或菜单项提示上显示的英语文本。 第3行:另一种语言的译文或为空。这里为中文。 第4行:当前的Pro/ENGINEER版本为空,“#”号。 按第2行或第3行的语言取决于系统环境变量lang的设置。
本设计中将向Pro/ENGINEER界面的顶部菜单栏中添加一个名为“弹簧”的Menu bar类型的菜单,下属两个菜单项:圆柱螺旋弹簧和非圆柱螺旋弹簧。名为“圆柱螺旋弹簧”的下级子菜单又包含了:圆截面压缩弹簧、矩形截面压缩弹簧、圆柱螺旋拉伸弹簧三个菜单项。名为“非圆柱螺旋弹簧”的下级子菜单包含了:截锥螺旋弹簧、等节距中凹形螺旋弹簧、等节距中凸形螺旋弹簧、方形螺旋弹簧四个菜单项。最终结果如图4-2(a)、4-2 (b)所示。
第 13 页 共 72 页
图4-2(a) “圆柱螺旋弹簧”菜单
图4-2(b) “非圆柱螺旋弹簧”菜单
图4-2所示菜单的资源文件如下: UserMenu User&Menu 弹簧(&E) # SubMenu1 SubMenu1
第 14 页 共 72 页
圆柱螺旋弹簧 # SubMenu2 SubMenu2 非圆柱螺旋弹簧 #
PushButton1 PushButton1 圆截面压缩弹簧 #
Adding a push button to the ProE menu bar Adding a push button to the ProE menu bar 圆截面压缩弹簧 #
PushButton2 PushButton2 矩形截面压缩弹簧 #
Adding another push button to the ProE menu bar Adding another push button to the ProE menu bar 矩形截面压缩弹簧 #
PushButton3 PushButton3 圆柱螺旋拉伸弹簧 #
Adding the third push button to the ProE menu bar Adding the third push button to the ProE menu bar 圆柱螺旋拉伸弹簧 #
PushButton4 PushButton4 截锥螺旋弹簧 #
第 15 页 共 72 页
Adding the forth push button to the ProE menu bar Adding the forth push button to the ProE menu bar 截锥螺旋弹簧 #
PushButton5 PushButton5
等节距中凹形螺旋弹簧 #
Adding the fifth push button to the ProE menu bar Adding the fifth push button to the ProE menu bar 等节距中凹形螺旋弹簧 #
PushButton6 PushButton6
等节距中凸形螺旋弹簧 #
Adding the sixth push button to the ProE menu bar Adding the sixth push button to the ProE menu bar 等节距中凸形螺旋弹簧 #
PushButton7 PushButton7 方形螺旋弹簧 #
Adding the seven push button to the ProE menu bar Adding the seven push button to the ProE menu bar 方形螺旋弹簧 #
在记事本编辑完以上资源后,保存为纯文本格式(.txt),并且命名为Message。将Message.txt文件存放在Text\\Release\\text\\chinese_cn目录下。
4.1.2 编写菜单操作源程序
编写完菜单信息资源文本后,还须使用Pro/TOOLKIT提供的菜单操作函数来实现每个菜单的功能,即编写菜单项菜单的动作函数。
具体设计步骤如下:
第 16 页 共 72 页
(1) 进入Visual C++6.0集成开发环境,选择“File/New...”选项,启动 “New”对话框。在“New”对话框中选择“Projects”选项卡,选择MFC AppWizard(dll)项。在“Project name:”输入工程文件名“Text”,在“Location”输入框中输入路径。单击OK按钮。
(2) 在“MFC AppWizard”对话框中选择“Regular DLL using shared MFC DLL”单选框,使Pro/TOOLKIT应用程序使用共享的MFC。单击Finish按钮,进入New Project Information窗口后,单击OK按钮,完成工程文件框架的建立。
(3) 选择FileView,打开VC应用程序向导自动生成程序文件。
VC应用程序设计向导在FileView中自动加入了ReadMe.txt、StdAfx.cpp和以工程文件名为前缀的cpp资源文件、def模块定义文件以及rc资源文件等。
在VC环境下编写完程序后,需要对其进行编译和连接,包括文件路径的设置、库文件路径设置、库文件的连接等。
Pro/TOOLKIT头文件位于protoolkit\\includes文件夹中。在Visual C++6.0的集成开发环境选择Tools/Options菜单,在弹出的“Option”对话框中选择“Directorise”选项卡,在“Show directories for:”下拉列表框中选择“Includes”,加入“...\\PROTOOLKIT\\INCLUDES”一项,设置Pro/TOOLKIT头文件所在文件夹,如图4-3所示。
图4-3 包含文件路径设置
在“Show Directorise for:”下拉列表中选择“Library files”,加入“...\\PROTOOLKIT\\I486_NT\\OBJ”一项,设置如图4-4。
第 17 页 共 72 页