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

iCAx开思网

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

如何通过UG自定义菜单直接调用动态链接库

[复制链接]
跳转到指定楼层
1
发表于 2003-7-3 21:13:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
我现在只能通过UG内部定义的对话框调用动态链接库,或者通过工具条也可以,有高手能帮帮忙吗?
VERSION 120
  
    EDIT UG_GATEWAY_MAIN_MENUBAR
  
    BEFORE UG_HELP
      CASCADE_BUTTON UISTYLER_DLG_CASCADE_BTN
      LABEL 查询标准件
    END_OF_BEFORE
  
    MENU UISTYLER_DLG_CASCADE_BTN
      BUTTON 查询标准件
      LABEL 查询标准件
      ACTIONS QueryPart.dll //此行提示错误
    END_OF_MENU
  
错误提示:
Item 查询标准件    查询标准件
    Actions: <actions not registered>
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 赞一下!赞一下!
2
发表于 2003-7-3 22:12:44 | 只看该作者
Actions 后面该跟dll对应的对话框文件,也就是 *.dlg文件。
3
发表于 2003-7-3 22:21:13 | 只看该作者
我的对话框不是UIStyler编辑的,而是MFC里面的模态对话框,通过dll调用,我不知道该怎么办了
4
发表于 2003-7-3 22:42:28 | 只看该作者
谢谢斑竹,我已经搞定了,需要通过UF_MB_add_actions函数注册一下就可以了
5
发表于 2003-7-4 10:06:05 | 只看该作者
能否吧你的代码共享一下,给大家看看。
6
发表于 2003-7-4 11:53:09 | 只看该作者
__declspec(dllimport)void QueryPart();//此为外部动态链接库函数声明
  
static UF_MB_cb_status_t query_part(
  UF_MB_widget_t widget,
  UF_MB_data_t client_data,
  UF_MB_activated_button_p_t call_button);
  
static UF_MB_action_t action_table[] =
{
  {"QUERY_PART",query_part,NULL},
  { NULL, NULL, NULL}
};
  
static UF_MB_cb_status_t query_part(     
  UF_MB_widget_t             widget,
  UF_MB_data_t               client_data,
  UF_MB_activated_button_p_t call_button)
{
  UF_MB_cb_status_t ret;
  QueryPart();
  ret=UF_MB_CB_CONTINUE;
  return(ret);
}
  
extern "C" DllExport void ufsta( char *parm, int *returnCode, int rlen )
{
  //ufusr_ask_unload();
  int errorCode=UF_initialize();
  if(0==errorCode)
  {
    UF_MB_add_actions(action_table);//注册
  }
  errorCode=UF_terminate();
}
然后编辑菜单文件
VERSION 120
  
    EDIT UG_GATEWAY_MAIN_MENUBAR
  
    AFTER UG_HELP
      CASCADE_BUTTON UISTYLER_DLG_CASCADE_BTN
      LABEL 标准件库
    END_OF_BEFORE
  
    MENU UISTYLER_DLG_CASCADE_BTN
      BUTTON 查询标准件
      LABEL 查询标准件
      ACTIONS QUERY_PART  //此行为响应入口,对应上面程序
    END_OF_MENU
7
发表于 2003-7-4 13:47:41 | 只看该作者
其实把 ACTIONS QueryPart.dll 后面的扩展名.dll去掉
  
写成 ACTIONS QueryPart 就行
  
不用注册,我做了好多mfc dll的东西 都是这样调的
  
没问题
8
发表于 2003-7-4 14:44:24 | 只看该作者
楼上的同志,我用你的方法试过了,好像不行啊,你是怎么实现的,给个例子看看,谢谢!
9
发表于 2003-7-4 16:54:00 | 只看该作者
VERSION 120
  EDIT UG_GATEWAY_MAIN_MENUBAR
  BEFORE UG_HELP
     CASCADE_BUTTON DATABASE_DLG_CASCADE_BTN
     LABEL CAPP参数库
  END_OF_BEFORE
  
  MENU DATABASE_DLG_CASCADE_BTN
      
      BUTTON LOAD_DIALOG_BNT
      LABEL 气模孔参数化
      ACTIONS dialog.dlg
  
      BUTTON LOAD_CUTTER_BNT
      LABEL 刀具库
      ACTIONS project.dll           
  
      BUTTON LOAD_ASSEMBLY_BNT
      LABEL 装配
      ACTIONS test03  
  
      SEPARATOR
      
      BUTTON LOAD_PROCESS_BNT
      LABEL 切削参数库
     ACTIONS libdialog
  
      BUTTON LOAD_MASHINE_BNT
      LABEL 机床参数库
END_OF_MENU
  
test03就是一个mfcdll阿,我这里可以阿
10
发表于 2003-7-4 16:59:21 | 只看该作者
那个mfc的dll放到application里面
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

GMT+8, 2024-12-28 22:56 , Processed in 0.027349 second(s), 11 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2024 www.iCAx.org

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