文档详情

XOPENUIStler开发详解

平***
实名认证
店铺
DOC
386.02KB
约11页
文档ID:9511401
XOPENUIStler开发详解_第1页
1/11

NXOPEN UIStler 开发详解一、前言现在越来越多的人开始使用 NX,并希望能够利用 NX 的开放性,开发出更适合自己公司的操作模式 大部分人对计算机编程原理知之甚少,通常更愿意使用电脑作为一种工具来解决问题为了满足用户易于使用的要求,程序越来越复杂过去那种需要键入神秘指令,得到一 堆枯燥数据的日子已经一去不返了今天的程序大都采用“用户友好界面” ,其中包括多窗口、菜单、对话框以及非常形象的标识NX 软件为用户提供可视化开发工具:NX/OPEN UIStler用户可以方便地直接将对话框中的基本控件进行组合布局,创建不同功能需求的 NX 风格对话框与 NX 进行交互操作这篇内容主要是解决以下几个方面的问题:1.NX 对话框的建立; 2.控件的访问,属性参数设置;3.经常使用到的数据类型和函数; 4.常用控件的程序写法一、NX 对话框的建立在 NX 启动后选择用户界面样式编辑器(Y)…,进入 UIStyler 可视化界面如图 1、2)z1 ?2 M3 \" K( h/ n! N0 v n& A0 L) i9 o4 v 1 z, d8 a2 X7 z* F% }% R二、控件的访问及属性参数设置对话框控件的访问有询问控件属性和设置控件属性两种方式,UF 函数是:UF_STYLER_ask_value_()和 UF_STYLER_set_value_()。

语法结构如下:extern int UF_STYLER_ask_value_(int dialog_id,UF_STYLER_item_value_type_p_tvalue);extern int UF_STYLER_set_value_(int dialog_id,UF_STYLER_item_value_type_p_tvalue);dialog_id 表示该控件的标识,value 是控件属性信息的结构变量,通过结构类型:UF_STYLER_item_value_Type_p_t 来定义 下表中是详细的说明:下面通过实例介绍各控件的代码实现的方法:之前必须了解 UF_STYLER_item_value_type_p_t 的结构定义;typedef stuct UF_STYLER_item_value_type_s {int reason;const char *item_id;int subitem_index;int count;int item_attr;int indicator;union{Char *string;Char **strings;int integer;int 8integers;double real;UF_UI_selection_p_t *selection;}value;}UF_STYLER_item_value_type_t,*UF_STYLER_item_value_type_t; 1.字符串输入框//字符串控件,这段代码可以获取字符串控件的输入值char sName[133];UF_STYLER_item_value_type_p_t value;Value.item_attr=UF_STYLER_VALUE;value.item_id=item_id; //控件 idUF_STYLER_ask_value(dialog_id,&value);strcpy(sName,value.value.string);UF_STYLER_free_value(&value);//字符串控件,这段代码可以获取字符串控件可见性UF_STYLER_item_value_type_p_t value;value.item_attr=UF_STYLER_VISIBILITYvalue.item_id=item_id; //控件 idvalue.value.integer =TURE; //TURE 为可见UF_STYLER_set_value(dialog_id,&value);UF_STYLER_free_value(&value);2.按钮控件//按钮控件,这段代码可以设置控件的位图显示的功能UF_STYLER_item_value_type_p_t value;value.item_attr=UF_STYLER_BITMAP;value.item_id=item_id; //控件 idvalue.value.string = E:\\Application\\Test.bmp ; //位图文件的全部路径位图文件的全路径UF_STYLER_set_value(dialog_id,&value);UF_STYLER_free_value(&value)//按按钮控件,这段控件可以设置代码的激活状态段代码可以设置控件的激活状态 UF_STYLER_item_value_type_p_t value;Value.item_attr=UF_STYLER_SENSITIVE;value.item_id=item_id; //控件 idUF_STYLER_set_value(dialog_id,&value);if (value.value.integer)…;3.单选按钮//这段代码可以设置控件标签的功能UF_STYLER_item_value_type_p_t value;value.item_attr=UF_STYLER_LABEL;value.item_id=item_id; //控件 idstrcpy(value.value.string, 标签名称 ); //标签名称UF_STYLER_set_value(dialog_id,&value);UF_STYLER_free_value(&value);//这段代码可以单选按钮控件的值Int iName=value.value.integer;UF_STYLER_item_value_type_p_t value;value.item_attr=UF_STYLER_VALUE;value.item_id=item_id; //控件 idUF_STYLER_ask_value(dialog_id,&value);UF_STYLER_free_value(&value);4.下拉列表控件//这段代码可以设置下拉列表框所有选项的功能UF_STYLER_item_value_type_p_t value;value.item_attr=UF_STYLER_SUBITEM_VALUES;value.item_id=item_id; //控件 idvalue.value.strings=asItem; //下拉列表框选项的字符串数组value.count=iNumOfItem; //下拉列表框选项的数量下拉列表框选项的数量UF_STYLER_set_value(dialog_id,&value);UF_STYLER_free_value(&value);//这段代码可以获得下拉列表框所有选项的功能int iItemSelect=value.value.integer;UF_STYLER_item_value_type_p_t value;value.item_attr=UF_STYLER_VALUE;value.item_id=item_id; //控件 idUF_STYLER_ask_value(dialog_id,&value);UF_STYLER_free_value(&value);5.单选列表框//这段代码可以设置单选列表框所有选项的功能这段代码可以设置单选列表框所有选项的功能UF_STYLER_item_value_type_p_t value;Value.item_attr=UF_STYLER_SUBITEM_VALUES;Value.item_id=item_id; //控件 idvalue.value.strings=asItem; //单选列表框选项的字符串数组Value.count=iNumOfItem; //单选列表框选项的数量 UF_STYLER_set_value(dialog_id,&value);UF_STYLER_free_value(&value);Int iItemSelect=value.value.integer;UF_STYLER_item_value_type_p_t value;value.item_attr=UF_STYLER_VALUE;value.item_id=item_id; //控件 idUF_STYLER_ask_value(dialog_id,&value);UF_STYLER_free_value(&value);//这段代码可以添加选项的功能UF_STYLER_item_value_type_p_t value;value.item_attr=UF_STYLER_INSERT;value.item_id=item_id; //控件 idValue.subitem_index=UF_STYLER_NO_SUB_INDEX;Value.indicator=UF_STYLER_STRING_VALUE;Value.value.string=data;UF_STYLER_set_value(dialog_id,&value);//这段代码可以删除选项的功能UF_STYLER_item_value_type_p_t value;value.item_attr=UF_STYLER_DELETE;value.item_id=item_id; //控件 idvalue.subitem_index=UF_STYLER_NO_SUB_INDEX;UF_STYLER_set_value(dialog_id,&value);6.图形控件//这段代码设置位图控件UF_STYLER_item_value_type_p_t value;value.item_attr=UF_STYLER_BITMAP;value.item_id=item_id; //控件 idvalue.value.string =flie_name; //位图文件名UF_STYLER_set_value(dialog_id,&value);//这段代码设置 Label 控件以图片形式显示的功能UF_STYLER_item_value_type_p_t value;value.item_attr=UF_STYLER_BITMAP;value.item_id=item_id; //控件 idvalue.value.string =flie_name; //位图文件名UF_STYLER_set_value(dialog_id,&value);//设置 Label 控件以图片形式显示的功能代码基本相同,用户只要设对控件的 id 即可。

三、创建 CAM 程序组的完整实例第一步,建立 dlg 文件,进入用户界面编辑器 ,设计如图 3 的对话框5 u6 ?. @ @! U+ k& {7 O一个字符串输入框,一个整型输入框,为了美观,中间加一个分隔符,全部放在一个群组之中,设置属性和环境变量第二步,保存为 Creat_Group 生成 3 个文件:Creat_Group.dlg;Creat_Group_template.c;Creat_Group.h第三步,启动 VC++新建 NX 工程,工程名 Creat_Group.第四步,在新建工程里删除 Creat_Group.cpp 文件,把第二步。

下载提示
相似文档
正为您匹配相似的精品文档