admin 发表于 2015-3-2 10:23:11

NX二次开发中使用老的界面User Interface Styler的交互方法

1,制作对话框1)进入User Interface Styler,设计好对话框,将LaunchDialog From改为Callback保存 2)将生成的对话框文件放在模板文件夹下,以记事本格式打开XX. _template.C文件,将extern int<enter the name of your function> ( int*response )改为extern int XXX ( int*response )后保存。 3)打开VC的Templet,依次点击Tools->options->directories,将XX.h所在的文件夹包含进去。4)在Templet.cpp中加入#include "XX_template.c"#include "XX.h" 5)在程序内写入    int response;            XXX(&response);点击F7,编译成功。 2,对话框求值,设值UF_STYLER_item_value_type_tvalue;value.item_attr=UF_STYLER_VALUE; value.item_id=XXX;//在.h文件中定义的IDUF_STYLER_ask_value(dialog_id,&value);    //读值/*赋值到变量中,变量在.h文件中定义,根据对话框定义不同类型:real,string,strings,integer , integers , real, reals*/ XXX=value.value.real;//赋值 value.item_id=XXX; //在.h文件中定义的IDvalue.count=1;//拉伸条移动UF_STYLER_set_value(dialog_id,&value);//设值 UF_STYLER_free_value(&value); //释放空间 3,1),设置控件的激活状态UF_STYLER_item_value_type_t value;value.item_attr=UF_STYLER_SENSITIVITY; //指定设置控件的激活状态file:///C:/Users/sztl26/AppData/Local/Temp/msohtmlclip1/01/clip_image001.gifvalue.item_id= XXX ; //在.h文件中定义的IDvalue.value.integer=FALSE; // FALSE为不激活,TRUE为激活UF_STYLER_set_value(dialog_id,&value); 2),设置对话框是否能选择物体UF_UI_mask_t all_mask[] = {                  UF_circle_type,0, 0,                  UF_cylinder_type,0, 0,                  UF_line_type,0, 0            }; UF_STYLER_item_value_type_t value;value.item_attr=UF_STYLER_SELECTION; value.item_id=UF_STYLER_DIALOG_INDEX;UF_STYLER_ask_value(dialog_id0,&value); UF_UI_set_sel_type(value.value.selection,UF_UI_SEL_TYPE_INACTIVE_SELECTION );//不能选择// UF_UI_SEL_TYPE_SINGLE_SELECTION
//UF_UI_SEL_TYPE_SINGLE_DESELECTION
//UF_UI_SEL_TYPE_ROBUST_SELECTION 能选择
//UF_UI_SEL_TYPE_SINGLE_POSITION
//UF_UI_SEL_TYPE_RECTANGLE_POSITION       if (( UF_UI_set_sel_mask ( value.value.selection,                  UF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC,2, all_mask ) ) )            {                  return(UF_UI_CB_CONTINUE_DIALOG);             }2,查询选择物体UF_STYLER_item_value_type_tvalue;            value.item_attr=UF_STYLER_SELECTION;            value.item_id=UF_STYLER_DIALOG_INDEX;            UF_STYLER_ask_value(dialog_id0,&value);       UF_UI_ask_sel_object_list(value.value.selection,&count,&objects);
页: [1]
查看完整版本: NX二次开发中使用老的界面User Interface Styler的交互方法