一、创建MFC.DLL
ProE/Creo Parametric TOOLKIT 二次开发环境推荐设置(下)
ProE/Creo Parametric TOOLKIT 二次开发环境推荐设置(上)
二、入口函数与出口函数
extern"C"int user_initialize()
{
}
extern "C" void user_terminate()
{
}
user_initialize()函数其作用相当于C程序中的main()函数
user_terminate()函数再Pro/ENGINEER终止同步模式的Pro/TOOLKIT应用程序时调用,其中可不执行任何动作。
三、创建按钮并与MFC对话框关联
//函数声明
int Text_MenuActFn();
static uiCmdAccessState AccessAvailable(uiCmdAccessMode);
extern"C"int user_initialize()
{
ProError status;
ProFileName MsgFile;//字符转化
uiCmdCmdId PushButton_cmd_id1;
ProStringToWstring(MsgFile,"menu.txt");
status = ProCmdActionAdd("PusbButtonActl",(uiCmdCmdActFn)Text_MenuActFn,
uiCmdPrioDefault,AccessAvailable,
PRO_B_TRUE,PRO_B_TRUE,&PushButton_cmd_id1);
ProCmdDesignate(PushButton_cmd_id1, "Ch8Example","Exmaple8-1", "Dialog test", MsgFile);
return status;
}
extern "C" void user_terminate()
{
AFX_MANAGE_STATE(AfxGetStaticModuleState());
}
static uiCmdAccessState AccessAvailable(uiCmdAccessMode acess_mode)
{
return (ACCESS_AVAILABLE);
}
按钮命令分为:
创建按钮
uiCmdCmdId PushButton_cmd_id1
添加命令动作
ProCmdActionAdd()
注册命令
ProCmdDesignate()
其中添加命令动作中包含点击相应函数,此部分与MFC对话框关联
//(uiCmdCmdActFn)Text_MenuActFn
int Text_MenuActFn()
{
AFX_MANAGE_STATE(AfxGetStaticModuleState());
int status;
CDlg dlg;
status=dlg.DoModal();
if(status==0)
{
AfxMessageBox(_T("创建对话框失败"));
}
return status;
}