如何通过自定义菜单来调用我们自定义的对话框呢?
前面我们通过自动以对话框得到3个文件,分别是LifeSit.cpp、LifeSit.hpp、LifeSit.dlx。我们用C++创建一个NXOpen项目,将LifeSit.cpp、LifeSit.hpp文件引入项目中来,这里现忽略功能实现部分,我们先来实现调用该对话框。在入口函数ufsta()中申明LifeSit并调用其Show_LifeSit方法来显示对话框。
直接编译项目得到一个NX8_Open1.dll文件,在UG中也可以直接调用该dll文件。打开UG项目(一定要打开一个项目,不然会报错:执行函数时捕获到异常)然后通过快捷键Ctrl+U加载我们项目刚刚生成的dll文件,这时系统就会去执行dll中的入口函数ufsta()并显示我们的对话框。
此时我们载入dll文件并不能正常的打开对话框,同样会报错:执行函数时捕获到异常。这时因为系统找不到LifeSit.dlx文件,我们需要将LifeSit.dlx文件放到配置了环境变量的application文件夹中系统才能找到该文件,具体可以参考:UG开发实战002:二次开发环境搭建。
到现在应该就可以正常弹出对话框了,接着我们要将对话框与菜单关联起来,将NX8_Open1.dll文件拷贝到application文件夹中然后修改自定义的菜单栏,在指定的按钮下通过ACTIONS属性来调用NX8_Open1.dll文件。
配置好之后保存并重启UG,随意打开一个工程项目然后在菜单栏中找到我们自定义的菜单Dome并点击MENU1菜单或者通过快捷键Ctrl+O就可以调用我们的对话框了。