iCAx开思工具箱

标题: 二次开发中option menu数据的获取 [打印本页]

作者: siyilee    时间: 2011-12-22 01:35
标题: 二次开发中option menu数据的获取
兄弟刚开始接触开发,请各位帮忙了。情况是这样,首先我在UISTYLER中用optionmenu做了一个选择菜单,菜单里面有两个选项--1和2,希望通过选择不同选项打开不同零件,我的代码如下                 tag_t part;         int num;
         UF_PART_load_status_t error_status;
         UF_STYLER_item_value_type_t option;
         option.item_id=INPUT_ASS_INT_0;
         option.item_attr=UF_STYLER_VALUE;
         option.indicator=UF_STYLER_INTEGER_VALUE;
         UF_STYLER_ask_value(dialog_id,&option);
         num=option.value.integer;
         if (1==num)
         {
                 UF_PART_open("D:\\API\\part\\die_setX\\die_setX.prt",&part,&error_status);
             UF_PART_free_load_status(&error_status);
         }
         else
         {
         uc1601("木有!",1);
         }
但是结果是不管选1还是选2都出现“木有!”而不会打开文件。
我觉得是在询问option menu数值的时候数据交换出现的问题。请各位高人解救啊!!!!!!!{:soso__6076955608827308919_2:}



作者: UG008    时间: 2011-12-22 08:49
   if (num==1)
         {
                 UF_PART_open("D:\\API\\part\\die_setX\\die_setX.prt",&part,&error_status);
             UF_PART_free_load_status(&error_status);
         }
         else
         {
         uc1601("木有!",1);
         }

作者: siyilee    时间: 2011-12-22 11:48
多谢UG008,刚刚试过了,但结果还是一样。
作者: qindongjun88    时间: 2011-12-22 14:05
设置断点,看num的值是多少,然后再原因....
作者: siyilee    时间: 2011-12-23 11:51
ok了,把num=option.value.integer;改成num=option.value.integer+1;多谢各位回复。现在的问题是如果选项里面不是纯数字而是字符串的话应该怎么处理呢?


作者: yfzzw    时间: 2011-12-25 21:45
siyilee 发表于 2011-12-23 11:51
ok了,把num=option.value.integer;改成num=option.value.integer+1;多谢各位回复。现在的问题是如果选项里 ...

一样的嘛,不管你是数字还是字符,返回的都是他的索引值(索引值是从0开始的,比如0,1,2.。。。),所以如果你的选项比较多的话,可以用switch语句。
作者: siyilee    时间: 2012-1-10 21:18
yfzzw 发表于 2011-12-25 21:45
一样的嘛,不管你是数字还是字符,返回的都是他的索引值(索引值是从0开始的,比如0,1,2.。。。),所以如 ...

多谢!!!




欢迎光临 iCAx开思工具箱 (https://t.icax.org/) Powered by Discuz! X3.3