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

iCAx开思网

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

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

[复制链接]
41
发表于 2003-6-24 11:36:15 | 只看该作者
--------------------Configuration: testdlg1 - Win32 Debug--------------------
Compiling...
proe_main.cpp
f:\proecpp\testdlg1\proe_main.cpp(9) : error C2065: 'AfxMessageBox' : undeclared identifier
f:\proecpp\testdlg1\proe_main.cpp(42) : error C2664: 'ProCmdActionAdd' : cannot convert parameter 4 from 'void (void)' to 'uiCmdAccessState (__cdecl *)(uiCmdAccessMode)'
        None of the functions with this name in scope match the target type
Error executing cl.exe.
  
proe_main.obj - 2 error(s), 0 warning(s)
42
发表于 2003-6-24 11:37:31 | 只看该作者
没错,这样比较直接,不用两个动态库调用
43
发表于 2003-6-24 11:39:09 | 只看该作者
原来的内容不用删除,在toolkit.cpp上直接添加就可以了
44
发表于 2003-6-24 12:42:37 | 只看该作者
编译通不过,可能漏了头.
45
发表于 2003-6-24 15:21:15 | 只看该作者
TOOL wrote:
编写消息注册文件(重要):

  
呵呵,我已经弄出来了,
  
可是怎么这样呢???
(我找不到OK和cancel的define,就换成PRO_TK_NO_ERROR和PRO_TK_GENERAL_ERROR了,呵呵)
46
发表于 2003-6-24 15:51:26 | 只看该作者
//注意,上面多了一块蛋糕
k u ,TOOL.
//哈哈,完整程序是这样的.
// testdlg3.cpp : Defines the initialization routines for the DLL.
//
  
#include "stdafx.h"
#include "testdlg3.h"
  
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
  
//
//  Note!
//
//    If this DLL is dynamically linked against the MFC
//    DLLs, any functions exported from this DLL which
//    call into MFC must have the AFX_MANAGE_STATE macro
//    added at the very beginning of the function.
//
//    For example:
//
//    extern "C" BOOL PASCAL EXPORT ExportedFunction()
//    {
//      AFX_MANAGE_STATE(AfxGetStaticModuleState());
//      // normal function body here
//    }
//
//    It is very important that this macro appear in each
//    function, prior to any calls into MFC.  This means that
//    it must appear as the first statement within the  
//    function, even before any object variable declarations
//    as their constructors may generate calls into the MFC
//    DLL.
//
//    Please see MFC Technical Notes 33 and 58 for additional
//    details.
//
  
/////////////////////////////////////////////////////////////////////////////
// CTestdlg3App
  
BEGIN_MESSAGE_MAP(CTestdlg3App, CWinApp)
   //{{AFX_MSG_MAP(CTestdlg3App)
     // NOTE - the ClassWizard will add and remove mapping macros here.
     //    DO NOT EDIT what you see in these blocks of generated code!
   //}}AFX_MSG_MAP
END_MESSAGE_MAP()
  
/////////////////////////////////////////////////////////////////////////////
// CTestdlg3App construction
  
CTestdlg3AppTestdlg3App()
{
   // TODO: add construction code here,
   // Place all significant initialization in InitInstance
}
  
/////////////////////////////////////////////////////////////////////////////
// The one and only CTestdlg3App object
  
CTestdlg3App theApp;
  
#include &ltroToolkit.h>  
#include &ltroMenu.h>  
#include &ltroMenuBar.h>  
#include &ltroUtil.h>
  
static uiCmdAccessState TestAccessDefault(uiCmdAccessMode access_mode)
{
     return (ACCESS_AVAILABLE);
}
  
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])
{  
  
   ProError 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 = ProCmdActionAdd("Menu2", (uiCmdCmdActFn)Check,  
     uiCmdPrioDefault, TestAccessDefault, 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" void user_terminate()
{
  
}
47
发表于 2003-6-24 16:09:22 | 只看该作者
请问zzabccn :添加之后,还要不要做其他的阿,我添加之后照你的做,编译怎么出现了许多错误阿??能不能再解释一下?
48
发表于 2003-6-24 17:39:15 | 只看该作者
zine wrote:
   
   
  怎么注册这个东东???  
   
  呵呵,我已经弄出来了,  
   
  可是怎么这样呢???  
  (我找不到OK和cancel的define,就换成PRO_TK_NO_ERROR和PRO_TK_GENERAL_ERROR了,呵呵)

  
对话框注册文件和菜单消息文件类似,存为.res格式,程序中调用
49
发表于 2003-6-24 17:55:45 | 只看该作者
weijians wrote:
请问zzabccn :添加之后,还要不要做其他的阿,我添加之后照你的做,编译怎么出现了许多错误阿??能不能再解释一下?

我上面的程序工程名是:testdlg3
把这段加在主cpp文件后面即可,
  
#include &ltroToolkit.h>  
#include &ltroMenu.h>  
#include &ltroMenuBar.h>  
#include &ltroUtil.h>  
  
static uiCmdAccessState TestAccessDefault(uiCmdAccessMode access_mode)  
{  
    return (ACCESS_AVAILABLE);  
}  
  
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 = ProCmdActionAdd("Menu2", (uiCmdCmdActFn)Check,  
    uiCmdPrioDefault, TestAccessDefault, 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" void user_terminate()  
{  
  
}
50
发表于 2003-6-24 18:03:37 | 只看该作者
设置这个
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

GMT+8, 2024-12-23 09:58 , Processed in 0.028305 second(s), 9 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2024 www.iCAx.org

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