找回密码 注册 QQ登录
开思网工业级高精度在线3D打印服务

iCAx开思网

CAD/CAM/CAE/设计/模具 高清视频【积分说明】如何快速获得积分?快速3D打印 手板模型CNC加工服务在线3D打印服务,上传模型,自动报价
12
返回列表 发新帖
打印 上一主题 下一主题

UG中MENUOPTION的初始化问题

[复制链接]
11
发表于 2003-4-3 20:28:59 | 只看该作者
这个问题我也遇到了,我偷了一个懒。就是用UG/Open++ UIStyler Class。问题就见得多了,不过程序的稳定性可能下降。另外就是要熟悉STL。
12
发表于 2003-4-3 21:51:42 | 只看该作者
真是难者不会,会者不难。按照你的指点,程序编译时没有错误提示。谢谢了。
13
发表于 2003-4-5 20:02:48 | 只看该作者
wlzhao33 wrote:
把item2_data.value.strings=xiaolei_opt1;改为item2_data.value.strings=(char **)xiaolei_opt1;试试。好像以前我和另外一个斑竹讨论过这个问题,这儿应该有这个帖子,你自己找找看,应该没问题。

  
我照你的提示作了一下,编译时没有错误提示,但是在ug中对话框的值却不随选项变化。我的代码如下,能否麻烦你看看?谢谢。
int CHANGE_da_index_cb ( int dialog_id,
             void * client_data,
             UF_STYLER_item_value_type_p_t callback_data)
{
    UF_STYLER_item_value_type_t item1_data,item2_data;
  int index;
  char xiaolei_opt1[2][20]={"d1","d2"};
  char xiaolei_opt2[2][20]={"b1","b2"};
  char xiaolei_opt3[2][20]={"c1","c2"};
  int row_num=2;
  char msg[133];
  char buffer[10];
  
     /* Make sure User Function is available. */   
     if ( UF_initialize() != 0)  
          return ( UF_UI_CB_CONTINUE_DIALOG );
  
     /* ---- Enter your callback code here ----- */
   item1_data.item_attr=UF_STYLER_VALUE;
   item1_data.item_id=CHANGE_OPTION_0;
   //item1_data.indicator=UF_STYLER_INTEGER_VALUE;
   UF_STYLER_ask_value(dialog_id, [$item1_data)]
   index=item1_data.value.integer;
   strcpy(msg, "current index is:");
   _itoa(index, buffer,2);
   strcat(msg,buffer);
   uc1601(msg,1);
  
   item2_data.item_attr=UF_STYLER_SUBITEM_VALUES;
   item2_data.item_id=CHANGE_OPTION_1;
   item2_data.count=row_num;
  
   item2_data.value.strings=xiaolei_opt1;
//   item2_data.value.strings[1]=xiaolei_opt[1];
  
   if(index!=0)
   {
     if(index==1)
     {
       item2_data.value.strings=(char **)xiaolei_opt2;
     }
     else
     {
       item2_data.value.strings=(char **)xiaolei_opt3;
     }
   }
  
   UF_STYLER_set_value(dialog_id, [$item2_data)]
  
     UF_terminate ();
  
    /* Callback acknowledged, do not terminate dialog */
    return (UF_UI_CB_CONTINUE_DIALOG);  
    
    /* or Callback acknowledged, terminate dialog.    */
    /* return ( UF_UI_CB_EXIT_DIALOG );               */
  
}
14
发表于 2003-4-5 20:35:37 | 只看该作者
经过朋友的指点,刚刚解决了这个问题。问题出在程序中的strings的赋值上。
修改原程序中的相应部分如下:
//变量定义部分修改:
char *op1[]={"e1","e2"};
//赋值部分修改:
item2_data.value.strings=op1;
15
发表于 2003-4-5 20:55:23 | 只看该作者
呵呵,这样也可以呀。随便问你一句,你的UG是哪个版本呀?
16
发表于 2003-4-5 22:08:44 | 只看该作者
ug18.0.5
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3D打印手板模型快速制作服务,在线报价下单!

QQ 咨询|手机版|联系我们|iCAx开思网  

GMT+8, 2025-1-29 08:20 , Processed in 0.050719 second(s), 10 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2025 www.iCAx.org

快速回复 返回顶部 返回列表