chinasoft668 发表于 2008-7-14 08:45:00

如何在ARX工程中加入MFC对话框

如何在ARX工程中加入MFC对话框,我加了MFC对话框后,再加了ARX command后编译就出错,请问这是怎么会事,该如何加入对话框呢,我的QQ:362525269   谢谢!

hfww111222 发表于 2008-7-14 16:30:00

直接建立基于MFC的arx程序,就可以添加对话框!

nogirlfriend 发表于 2008-7-29 17:08:00

在建立工程的时候,选择支持mfc选项即可。

caiqs 发表于 2008-8-2 13:21:00

[原创]MFC设置教程

<p>MFC设置教程 <br/>QQ361865648 师兄</p><p>vs2002+Autocad2006</p><p><br/>1、新建项目-&gt;arx项目,名称为MFClab,点击左边MFC Support,选择Extension DLL using MFC shared DLL (recommended for MFC support),再点Finish;<br/>2、上步完成后解决方案应该可以看到acrxEntryPoint.cpp,DocData.cpp,MFClab.cpp,StdAfx.cpp,DocData.h,Resource.h,StdAfx.h这几个文件有MFC.rc;<br/>3、双点acrxEntryPoint.cpp打开,点arx工具条上的"a&gt;",出现ObjectARX Commands对话框,在ARX command list:列表中点右键,在右键中点New,则命令列表中多出了一行,将Localized Name里的MyCommand1改成你的命令名,这个命令名即是你以后在cad中输入的命令名,然后点OK;<br/>4、加入对话框资源。点项目—&gt;添加资源,在添加资源对话框中选Dialog,然后点新建,对话框资源就加入到了项目中。双点对话框蓝色的部份,出现MFC类向导对话框,在类名中输入类名Dialog1,基类选CDialog,其它的按默认值,点击完成,回到C++主界面;<br/>5、在解决方案资源管理器中双点Dialog1.cpp(与第4步输入的对话框名相同)打开它,点菜单编辑-&gt;查找替换,查找内容为“CDialog”退第4步中的基类名,替换为"CAcUiDialog",注意这里的大小写,点全部替换;<br/>6、打开Dialog1.h(与第4步输入的对话框名相同),按第5步的方法将"CDialog"替换为"CAcUiDialog",在文件的开头加上这几行#include "resource.h"<br/>#include &lt;dbsymtb.h&gt;<br/>#include &lt;dbapserv.h&gt;<br/>#include &lt;adslib.h&gt;<br/>#include &lt;adui.h&gt;<br/>#include &lt;acui.h&gt;<br/>7、在解决方案资源管理器中双点Dialog1.cpp(与第4步输入的对话框名相同)打开它,在文件头部有一行#include "arxMFClab.h"(与C++主窗口左上角的工程名相同),将这行删除,加上一行#include "resource.h";<br/>8、在解决方案资源管理器中双点acrxEntryPoint.cpp打开它,在文件顶上加上一行#include "Dialog1.h"(与第4步中的对话框名同名),在virtual AcRx::AppRetCode On_kInitAppMsg (void *pkt) {<br/>&nbsp;&nbsp;............<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //这里加上下边一行<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CAcModuleResourceOverride resOverride;<br/>&nbsp;&nbsp;return (retCode) ;<br/>&nbsp;}<br/>9、编译应该没有错误;<br/>,在你自已的命令函数里加上下边两行<br/>static void arxMFClab_MyCommand1(void)<br/>&nbsp;{<br/>&nbsp;&nbsp;// Add your code for command arxMFClab._MyCommand1 here<br/>&nbsp;Dialog1 dlg(CWnd::FromHandle(adsw_acadMainWnd()));<br/>&nbsp;&nbsp;&nbsp; int nReturnValue = dlg.DoModal();<br/>&nbsp;}<br/>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><p><br/>&nbsp;</p>
页: [1]
查看完整版本: 如何在ARX工程中加入MFC对话框