找回密码 注册 QQ登录
一站式解决方案

iCAx开思网

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

[讨论] 二种ACTION的实现

[复制链接]
跳转到指定楼层
1
发表于 2009-3-30 20:16:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
第一种:
static UF_MB_cb_status_t testCB(     
    UF_MB_widget_t                     widget,   
    UF_MB_data_t                  client_data,     
    UF_MB_activated_button_p_t call_button )
{
uc1601("testCB",1);
  char partName[]="d:\\test.prt";
  tag_t partTag=NULL_TAG;
     UF_PART_new(partName,1,&partTag);
  if(partTag==NULL_TAG)
  {
   uc1601("false!",1);
  }
  else
  {
   uc1601("here is a tag now",1);
  }

return UF_MB_CB_CONTINUE;
}

UF_MB_action_t actionTable[]=
{
  {"test",testCB,NULL},
  {NULL,NULL,NULL}
};
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 赞一下!赞一下!
2
发表于 2009-3-30 20:17:55 | 只看该作者
第二种:
static UF_STYLER_callback_info_t CHANGE_cbs[CHANGE_CB_COUNT] =
{
{UF_STYLER_DIALOG_INDEX, UF_STYLER_OK_CB           , 0, CHANGE_OnOk},
{UF_STYLER_DIALOG_INDEX, UF_STYLER_APPLY_CB        , 0, CHANGE_apply_cb},
{CHANGE_ACTION_0       , UF_STYLER_ACTIVATE_CB     , 0, CHANGE_CreateNewPart},
{UF_STYLER_NULL_OBJECT, UF_STYLER_NO_CB, 0, 0 }
};

static UF_MB_styler_actions_t actions[] = {
    { "NewPart.dlg",  NULL,   CHANGE_cbs,  UF_MB_STYLER_IS_NOT_TOP },
            { NULL,  NULL,  NULL,  0 } /* This is a NULL terminated list */
};
int CHANGE_CreateNewPart ( int dialog_id,
             void * client_data,
             UF_STYLER_item_value_type_p_t callback_data)
{
     /* Make sure User Function is available. */  
     if ( UF_initialize() != 0)
          return ( UF_UI_CB_CONTINUE_DIALOG );

     /* ---- Enter your callback code here ----- */
         uc1601("OnButton_CreatePart",1);
         char partName[]="d:\\test.prt";
         tag_t partTag;
     UF_PART_new(partName,1,&partTag);
         if(partTag==NULL_TAG)
         {
                 uc1601("false!",1);
         }

     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 );               */

}
3
发表于 2009-3-30 20:20:47 | 只看该作者
很简单的测试,都是要创建一个新的PART,第一段代码用       
        UF_MB_add_actions(actionTable);
无法得到预期的结果;而用UISTYLER的:
           UF_MB_add_styler_actions ( actions )就可以实现
4
发表于 2009-3-30 20:22:21 | 只看该作者
用UF_MB_add_actions(actionTable)的话一些命令会无法实现,什么原因?
5
发表于 2009-3-30 20:38:18 | 只看该作者
用UF_CALL查到了原因。大家试试看
6
发表于 2009-4-2 14:10:12 | 只看该作者
,我都是第一种方法来做开发,经过N个项目的检验,没有发现哪个命令不能用。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

GMT+8, 2024-12-29 01:08 , Processed in 0.027219 second(s), 10 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2024 www.iCAx.org

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