iCAx开思工具箱
标题:
找到的UG中使用MFC的文章,希望对大家有帮助
[打印本页]
作者:
poncho_wang
时间:
2004-8-31 15:36
标题:
找到的UG中使用MFC的文章,希望对大家有帮助
1) 在VC的应用程序创建向导中选择MFC AppWizard(dll);
2) 选择应用程序类型为:Regular DLL using shared MFC DLL;
3) 结束创建应用程序的过程;
4) 将UG库文件(libugopenint.lib,libufun.lib)加入所创建的项目。
5) 结束
熟悉UG开发的人都知道UG应用程序的入口函数是ufsta,所以下一步的工作就是在应用程序中添加UG/Open函数入口ufsta。这个过程很简单,可以把UG所提供的例子程序中的主函数直接复制过来,或者采用UG/Open AppWizard创建一个项目,然后把主函数复制过来就可以了。
一个例子的源程序
以下是我们做的一个在UG中显示模态对话框的例子,为了方便起见,删除了所有的注释语句。CMyDialog是采用MFC创建的一个对话框类,函数 DisplayDialog的功能是显示显示模态对话框。其他的代码基本上都是由MFC AppWizard或者UG/Open AppWizard创建的,十分简单。由此可以看出,UG应用程序经过这样改造之后,调用其它的MFC类已经不成问题。因此就实现了利用MFC来开发UG 的应用程序的功能。
#include "stdafx.h"
#include "ccc.h"
//以下代码与UG有关
#include
#include
#include
#include "resource.h"
#include "MyDialog.h"
void DisplayDialog()
{
AFX_MANAGE_STATE(AfxGetStaticModuleState());
CMyDialog dlg;
dlg.DoModal();
}
extern "C" DllExport void ufsta( char *param, int *returnCode, int rlen )
{
int errorCode = UF_initialize();
DisplayDialog ();
if ( 0 == errorCode )
{
errorCode = UF_terminate();
}
}
extern "C" void ufusr_cleanup(void)
{
}
extern "C" int ufusr_ask_unload( void )
{
return( UF_UNLOAD_UG_TERMINATE );
}
//以下代码由MFC AppWizard创建
BEGIN_MESSAGE_MAP(CCccApp, CWinApp)
//{{AFX_MSG_MAP(CCccApp)
// 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()
CCccApp::CCccApp()
{
}
CCccApp theApp;
4. 结束语
本文中提出的应用程序在下列环境下运行通过:
操作系统:Windows 2000 Server (Service Pack 2),
UG版本:UG 18.0微机版
编译环境:Microsoft Visual C++ 6.0
作者:
cqingwanglei
时间:
2004-8-31 17:02
我第一个顶
作者:
dong28109
时间:
2004-12-17 19:52
定
作者:
tatata
时间:
2004-12-22 23:11
这是zjb的文章。
作者:
moshaocong
时间:
2004-12-29 11:39
e:\my_source\my_first\first_dlg_template.c(458) : fatal error C1010: unexpected end of file while looking for precompiled header directive
请高手看看我的,照你的话用UG生成一个*.c *.h文件,复制导入vc++
报错
欢迎光临 iCAx开思工具箱 (https://t.icax.org/)
Powered by Discuz! X3.3