iCAx开思工具箱

标题: 如何在出来的选择对话框点ok后,可以继续另一个程序啊 [打印本页]

作者: shuoqi    时间: 2005-8-18 22:23
标题: 如何在出来的选择对话框点ok后,可以继续另一个程序啊
我想用一个选择对话框选择物体后,点击ok出来一个功能,怎么使实现另一功能的函数跟它连起来啊????
  
那位仁兄帮帮忙!!!!
作者: pzytony    时间: 2005-8-18 22:25
在OK回调函数中写入另一个功能代码
作者: shuoqi    时间: 2005-8-18 22:44
pzytony兄能否说详细点呢,
static int report( char *file, int line, char *call, int irc)
{
  if (irc)
  {
     char    messg[133];
     printf("%s, line %d:  %s\n", file, line, call);
     (UF_get_fail_message(irc, messg)) ?
       printf("    returned a %d\n", irc) :
       printf("    returned error %d:  %s\n", irc, messg);
  }
  return(irc);
}
static void do_ugopen_api(void)
{
     char sCue[]="Select the object.";
   char sTitle[]="Select by class.";
   int iScope=UF_UI_SEL_SCOPE_NO_CHANGE;
   int response;
   int count,i;
   tag_t* objects;
  
    
    /* Use multiple class selection with scope set to any object
       in the work part and without using an initialization
procedure.
    */
if((UF_CALL(UF_UI_select_with_class_dialog(
          sCue, sTitle, UF_UI_SEL_SCOPE_NO_CHANGE,
          NULL, NULL, &response, &count, &objects))) == 0)
  
    {
         printf("object count = %d\n",count);
         if (response == UF_UI_OK && count > 0)
         {
             for (i=0; i<count; i++)
             {
                 printf("object tag = %d\n", objects);
                 UF_DISP_set_highlight(objects, 0);
             }
             UF_free(objects);
         }
    }
}
  
这是UF_UI_select_with_class_dialog()的调用吧,ok回调函数在哪里?
  
我是新手,请指教,多谢!!!
作者: endiaons    时间: 2005-8-19 11:28
你是否用到了MFC对话框的资源?如果用到了话就很容易找到OK回调函数
如果没有用到MFC的话,就在入口函数中加入你想实现的出现对话框
作者: shuoqi    时间: 2005-8-19 22:29
谢谢楼上的兄弟,我没有用到MFC,在入口函数中怎样具体加对话框啊,能否说详细点.  我是刚学的新手,请不吝赐教.
作者: 深夜摔键盘    时间: 2005-8-20 09:22
先认真看书吧,看看UIStyler是怎样用的。起码得知道OK回调函数在哪吧
作者: zzz    时间: 2005-8-20 11:47
在UF_UI_select_with_class_dialog之后接着写另外一个函数不就ok了吗?
作者: murongjun    时间: 2005-8-20 11:56
if (response==UF_UI_OK)
{
}
OK!!!
作者: shuoqi    时间: 2005-8-20 15:46
我在UF_UI_select_with_class_dialog之后接着写另外一个函数了,可是却出不来第二个函数得内容啊?
  
static int report( char *file, int line, char *call, int irc)  
{  
   if (irc)  
   {  
      char messg[133];  
      printf("%s, line %d: %s\n", file, line, call);  
      (UF_get_fail_message(irc, messg)) ?  
        printf(" returned a %d\n", irc) :  
        printf(" returned error %d: %s\n", irc, messg);  
   }  
   return(irc);  
}  
static void do_ugopen_api(void)  
{  
      char sCue[]="Select the object.";  
    char sTitle[]="Select by class.";  
    int iScope=UF_UI_SEL_SCOPE_NO_CHANGE;  
    int response;  
    int count,i;  
    tag_t* objects;  
  
     
     /* Use multiple class selection with scope set to any object  
        in the work part and without using an initialization  
procedure.  
     */  
if((UF_CALL(UF_UI_select_with_class_dialog(  
           sCue, sTitle, UF_UI_SEL_SCOPE_NO_CHANGE,  
           NULL, NULL, &response, &count, &objects))) == 0)  
  
     {  
          printf("object count = %d\n",count);  
          if (response == UF_UI_OK && count > 0)  
          {  
              for (i=0; i<count; i++)  
              {  
                  printf("object tag = %d\n", objects);  
                  UF_DISP_set_highlight(objects, 0);  
              }  
              UF_free(objects);  
          }  
     }  
}  
UF_MB_cb_status_t  Application(
                UF_MB_widget_t widget,    //trigger widget
                UF_MB_data_t  client_data,   //data pointer from action registration
                UF_MB_activated_button_p_t button)
{
   //make sure user function is availabel.
   if(UF_initialize()!=0)
     return(UF_MB_CB_CONTINUE);
  
   //enter your callback code here
         uc1601("已经选中物体",1);
     return(UF_MB_CB_CONTINUE);
   
     
   UF_terminate();
   return(UF_MB_CB_CONTINUE);
}
  
我想让选择对话框选择一个物体后,能够出现下面得消息框,可是编译连接l通过后,什么也出不来,这是怎么回事啊???
作者: shuoqi    时间: 2005-8-20 16:31
附上我得程序:
01
作者: shuoqi    时间: 2005-8-20 16:33
02
作者: shuoqi    时间: 2005-8-20 16:37
03
作者: shuoqi    时间: 2005-8-20 16:39
04
共四个
作者: shuoqi    时间: 2005-8-20 16:47
按8楼得兄弟所说,确实可以实现,可是这样得话,application函数就不能起作用了啊.




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