
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
5.6 NXOpen C++模板代码
如第3章所述,利用NX中Block UI Styler模块,可以自动生成*.dlx、*.hpp、*.cpp三个文件,为了合理地利用这些生成的模板代码,开发者有必要理解代码的框架。
5.6.1 模板代码框架
通过Block UI Styler模块自动生成的代码,在*.hpp文件中,它的格式一般如下:

在*.cpp文件中,它的格式一般如下:


为了更准确高效地开发应用程序,开发者必须理解每一个回调在何种场景下才会触发,表5-7列出了对话框回调的详细描述。
表5-7 对话框回调描述

5.6.2 添加对话框回调
通常情况下,开发者不需要在模板代码中添加对话框回调,因为Block UI Styler模块允许用户设置自动生成代码时注册哪些回调。如图5-9所示,在需要生成回调的节点上右击,在弹出的菜单中选择“True”选项即可。
也可以后期在代码中手动添加回调,以添加Filter回调为例,操作步骤如下:
(1)声明回调。在*.hpp文件中,添加下列代码:

(2)注册回调。在*.cpp文件的构造函数中,添加类似下列代码:


图5-9 设置代码中自动生成回调
(3)实现回调。在*.cpp文件中添加如下格式代码:

对此操作不熟练的开发者,可以再次回到Block UI Styler模块,打开之前的*.dlx文件,设置自动生成哪些回调,保存文件,再使用新的代码即可。