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

iCAx开思网

CAD/CAM/CAE/设计/模具 高清视频【积分说明】如何快速获得积分?快速3D打印 手板模型CNC加工服务在线3D打印服务,上传模型,自动报价
查看: 17498|回复: 7
打印 上一主题 下一主题

【求助】如何获取用UISTYLER创建的列表框中的数据??急!!!

[复制链接]
跳转到指定楼层
1
发表于 2004-3-14 10:31:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多同行朋友,交流,分享,学习。

您需要 登录 才可以下载或查看,没有帐号?注册

x
如何获取用UISTYLER创建的列表框中的数据??急!!!现在急着用!
为什么用一般的方法不行?比如:UF_STYLER_ask_value( dialog_id, [$sel_data ) ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 赞一下!赞一下!
2
发表于 2004-3-14 17:18:09 | 只看该作者
你可以使用UF_STYLER_ask_value
这是一个小例子(只是一个ok按钮的相应函数):
  
int C_BLOCK_ok_cb ( int dialog_id,
              void * client_data,
              UF_STYLER_item_value_type_p_t callback_data)
{
    //变量声明
   int i;  //循环变量
   UF_STYLER_item_value_type_t point[3];// 基点坐标
   UF_STYLER_item_value_type_t para[3]; // 参数
   double basepoint[3];
   char *edge_len[3];
   
   UF_FEATURE_SIGN sign = UF_NULLSIGN;
   tag_t blk_obj;
   
   /* Make sure User Function is available. */   
     if ( UF_initialize() != 0)  
           return ( UF_UI_CB_CONTINUE_DIALOG );
  
      /* ---- Enter your callback code here ----- */
//   uc1601("这是一个演示程序!!", true);
  
    for(i=0;i<3;i++)
    {
      point[i].item_attr=UF_STYLER_VALUE;
      para[i].item_attr=UF_STYLER_VALUE;
    }
   
    //进行对应的映射
    point[0].item_id=CREATE_B_REAL_1;
    point[1].item_id=CREATE_B_REAL_2;
    point[2].item_id=CREATE_B_REAL_3;
  
    para[0].item_id=CREATE_B_REAL_6;
    para[1].item_id=CREATE_B_REAL_7;
    para[2].item_id=CREATE_B_REAL_8;
  
    //访问对应的值
    for(i=0;i<3;i++)
    {
     UF_STYLER_ask_value(dialog_id,[$point[i])]
     UF_STYLER_ask_value(dialog_id,[$para[i])]
  
     basepoint[i]=point[i].value.real;
     edge_len[i]=para[i].value.string;
    }
  
    UF_UI_open_listing_window();
   UF_UI_write_listing_window("这是ug生成的参数");
  
    for(i=0;i<3;i++)
    {
     UF_UI_write_listing_window(point[i].value.string);
    }
    for(i=0;i<3;i++)
    {
     UF_UI_write_listing_window(para[i].value.string);
    }
  
    //创建长方体
    UF_CALL(UF_MODL_create_block1(sign, basepoint, edge_len, [$blk_obj))]
  
      UF_terminate ();
  
     /* Callback acknowledged, terminate dialog             */
     /* It is STRONGLY recommended that you exit your       */
     /* callback with UF_UI_CB_EXIT_DIALOG in a ok callback.*/
     /* return ( UF_UI_CB_EXIT_DIALOG );                    */
     return (UF_UI_CB_EXIT_DIALOG);                           
  
}
3
发表于 2004-3-14 17:20:34 | 只看该作者
ft, 怎么全是表情啊。
顺便说一句,我手头没有ug(办公室的机器上才有),所以没有编译运行,可能会有小错误。你主要看看思路就是了。
4
发表于 2004-3-14 17:41:01 | 只看该作者
ft,编辑了一下,结果越改越乱,还不能删除。只好重新发一份了
  
int CREATE_B_OK_cb ( int dialog_id,
             void * client_data,
             UF_STYLER_item_value_type_p_t callback_data)
{
  //变量声明
  char res[256];
  logical log;
  int i,temp=0;  //循环变量
  UF_STYLER_item_value_type_t point[3];// 基点坐标
  UF_STYLER_item_value_type_t para[3]; // 参数
  double basepoint[3];
  char *edge_len[3];
  
  UF_FEATURE_SIGN sign = UF_NULLSIGN;
  tag_t blk_obj;
  
    
  
  /* Make sure User Function is available. */   
    if ( UF_initialize() != 0)  
          return ( UF_UI_CB_CONTINUE_DIALOG );
  
   for(i=0;i<3;i++)
   {
     point[i].item_attr=UF_STYLER_VALUE;
     para[i].item_attr=UF_STYLER_VALUE;
   }
  
   //进行对应的映射
   point[0].item_id=CREATE_B_REAL_1;
   point[1].item_id=CREATE_B_REAL_2;
   point[2].item_id=CREATE_B_REAL_3;
  
   para[0].item_id=CREATE_B_STR_6;
   para[1].item_id=CREATE_B_STR_7;
   para[2].item_id=CREATE_B_STR_8;
  
   //访问对应的值
   for(i=0;i<3;i++)
   {
    UF_STYLER_ask_value(dialog_id,[$point[i])]
    UF_STYLER_ask_value(dialog_id,[$para[i])]
  
    basepoint[i]=point[i].value.real;
    edge_len[i]=para[i].value.string;
   }
  
   //创建长方体
   temp=UF_CALL(UF_MODL_create_block1(sign, basepoint, edge_len, [$blk_obj))]
  
   //将返回值打印出来
  sprintf(res, "%d" , temp);
  UF_UI_open_listing_window();
  UF_UI_is_listing_window_open([$log)]
  if(log)
  {
    UF_UI_write_listing_window("create_block1()的返回值为:");
    UF_UI_write_listing_window(res);
    UF_UI_save_listing_window("create_b.txt");
    UF_UI_close_listing_window();
  }
  
     UF_terminate ();
  
    /* Callback acknowledged, terminate dialog             */
    /* It is STRONGLY recommended that you exit your       */
    /* callback with UF_UI_CB_EXIT_DIALOG in a ok callback.*/
    /* return ( UF_UI_CB_EXIT_DIALOG );                    */
    return (UF_UI_CB_EXIT_DIALOG);                           
  
}
5
发表于 2004-3-15 10:33:33 | 只看该作者
谢谢.非常感谢.请问有没有操作listbox 的?你看看我下面的代码有何问题:
UF_STYLER_item_value_type_t sel_data;
  sel_data.item_id = item_id;
  sel_data.item_attr  = UF_STYLER_SELECTION;
    UF_STYLER_ask_value( dialog_id, [$sel_data ) ]
6
发表于 2004-3-15 11:36:31 | 只看该作者
ft,uistyler的文档里给出了所有控件的读写方法
7
发表于 2004-3-15 12:29:28 | 只看该作者
谢谢,我找到了
8
发表于 2011-9-12 14:04:52 | 只看该作者
路过的,顶你一下
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

GMT+8, 2024-12-27 17:13 , Processed in 0.029817 second(s), 10 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2024 www.iCAx.org

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