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

iCAx开思网

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

【原创】手把手Pro/E二次开发

[复制链接]
31
发表于 2003-6-24 09:20:58 | 只看该作者
下面为Pro/E风格对话框的添加:
32
发表于 2003-6-24 09:27:01 | 只看该作者
到此,pro/e的开发已经算人门了
不在详细介绍
pro/e对话框风格在user guide有:
33
发表于 2003-6-24 09:28:50 | 只看该作者
编写调用程序:
34
发表于 2003-6-24 09:29:21 | 只看该作者
/*-----------------------------------------------------------------*\
      确认对话框添加程序(Pro/E 风格对话框)
\*-----------------------------------------------------------------*/
int UsrConfirmAction(char *question,ProBoolean *confirm);
  int UsrExample()
  {
   &nbsproBoolean confirm;
    UsrConfirmAction("ro/E Dialog by TOOL", [$confirm)]
  return(1);
  }
/*====================================================================*\
  FUNCTION : UsrOKAction() PURPOSE  : Action function for the OK button
\*====================================================================*/
  void UsrOKAction(
     char *dialog,
     char *component,
    &nbsproAppData data)
  {
    &nbsproUIDialogExit(dialog, OK);
  }
/*====================================================================*\
  FUNCTION : UsrCancelAction()  
 &nbspURPOSE  : Action function for the Cancel button
\*====================================================================*/
  void UsrCancelAction(
     char *dialog,
     char *component,
     ProAppData data)
  {
     ProUIDialogExit(dialog, CANCEL);
  }
/*====================================================================*\
  FUNCTION : UsrConfirmAction()  
  PURPOSE  : Utility to prompt the user with  question, and OK and Cancel
             buttons.
\*====================================================================*/
  int UsrConfirmAction(
     char *question,
     ProBoolean *confirm)
  {
     ProLine wline;
     int status;
/*--------------------------------------------------------------------*\     
  Load the dialog from the resource file
\*--------------------------------------------------------------------*/     
  ProUIDialogCreate("confirm","confirm");
/*--------------------------------------------------------------------*\     
  Set the OK and Cancel button actions
\*--------------------------------------------------------------------*/     
  ProUIPushbuttonActivateActionSet("confirm","OK",UsrOKAction, NULL);
  ProUIPushbuttonActivateActionSet("confirm","Cancel",UsrCancelAction,NULL);
/*--------------------------------------------------------------------*\     
  Set the Question test in the label
\*--------------------------------------------------------------------*/     
  ProStringToWstring(wline, question);
     ProUILabelTextSet("confirm","Question",wline);
/*--------------------------------------------------------------------*\     
  Display and activate the dialog
\*--------------------------------------------------------------------*/     
  ProUIDialogActivate("confirm", [$status)]
/*--------------------------------------------------------------------*\     
  Set confirm according to which button was used to close the dialog
\*--------------------------------------------------------------------*/     
  *confirm = (status == OK) ? PRO_B_TRUE : PRO_B_FALSE;
/*--------------------------------------------------------------------*\     
  Remove the dialog from memory
\*--------------------------------------------------------------------*/     
  ProUIDialogDestroy("confirm");
    return(1);
  }
35
发表于 2003-6-24 09:29:54 | 只看该作者
添加相关头文件
36
发表于 2003-6-24 09:36:18 | 只看该作者
编写消息注册文件(重要):
37
发表于 2003-6-24 09:38:20 | 只看该作者
注册运行:
弹出确认对话框
38
发表于 2003-6-24 09:40:14 | 只看该作者
今日暂时到此
39
发表于 2003-6-24 09:46:01 | 只看该作者
两个字”历害“!
40
发表于 2003-6-24 11:35:43 | 只看该作者
全部程序是不是这样子,放在.cpp中,编译出问题.请帮助
  
#include &ltroToolkit.h>  
#include &ltroMenu.h>  
#include &ltroMenuBar.h>  
#include &ltroUtil.h>
  
void Check()
{
  AfxMessageBox("haha");
}
  
/*====================================================================*\  
FUNCTION : user_initialize()  
PURPOSE : Pro/TOOLKIT程序的总入口,完成初始化工作  
\*====================================================================*/  
extern "C" int user_initialize(  
    int argc,        
    char *argv[],  
    char *version,  
    char *build,  
    wchar_t errbuf[80])
{  
  
 &nbsproError status;  
  uiCmdCmdId cmd_id;  
  ProFileName mf;  
  
  ProStringToWstring(mf,"usermsg.txt");  
   
  status = ProMenubarMenuAdd ("Menu0", "USER Menu0",  
        "Help", PRO_B_TRUE, mf);  
  // 0添加父菜单Menu0  
  
  status = ProMenubarmenuMenuAdd ("Menu0", "Menu1", "USER Menu1",  
     NULL, PRO_B_TRUE, mf);  
  添加弹出式菜单Menu1  
  
  status = ProCmdActionAdd("Menu2", (uiCmdCmdActFn)Check,  
    uiCmdPrioDefault, Check, PRO_B_TRUE, PRO_B_TRUE, [$cmd_id)]  
  -1菜单Menu2动作  
  
  status = ProMenubarmenuPushbuttonAdd ("Menu1", "Menu2",  
     "USER Menu2", "USER Menu2 help", NULL, PRO_B_TRUE,cmd_id, mf);  
  -1添加菜单Menu2  
   
  return 0;  
}
  
extern "C" user_terminater()
{
  return 0;
}
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

GMT+8, 2025-1-9 03:56 , Processed in 0.042359 second(s), 10 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2025 www.iCAx.org

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