ObjectARX使用MFC编写对话框一
的有关信息介绍如下:
使用Virtual Studio MFC一步一步创建AutoCAD自定义对话框。
本教程基于已经创建了 ObjectARX 项目的基础上进行的。
若不会创建,可参照本教程的前述系列(创建自定义实体系列)。
右键点击项目选择添加类则出现如下对话框
选择 MFC support class
输入文件ColRecDlg 后点击添加。
Class Name 输入你想保存的类名(此处是ColRecDlg);
Base Class 选择基类 CAcUiDialog ;
点击完成生成了对话框类。
到类资源项中 双击上一步创建的对话框ID(此处是 ID_COLRECDLG)
在对话框编辑器中选择 button 按钮。
在 button1 上右键选择属性。
可以更改 caption 和 ID
caption 为按钮上的文字。
ID 为该 button 的标识。
设置之后切回到 ColRecDlgd 的 cpp 与 h 文件
就会出现如下的代码。
在void nDosColRecDlg::OnBnClicked_UpdataColumnData()
函数定义中输入MessageBox(_T("ok")) ;
下面为ColRecDlg添加 InitDialog 消息响应。
打开类视图在ColRecDlg 类上右键选择属性。出现ColRecDlg 类属性对话框。
重写InitDialog 消息响应。
下图中因为我已经选择了重写,故再次打开不第一次创建不同。
InitDialog 是在对话框被加载的时候,要执行的操作,比如子程序等。
添加了之后应出现如下代码
在 OnInitDialog 中添加如下代码
acutPrintf(_T("\n 对话框初始化 OK: %d") ,001) ;
添加 sd 命令, 用来显示对话框。
在 sd 命令下添加如下代码:
CAcModuleResourceOverride resOverride;
//显示ObjectARX的模态对话框
ColRecDlg theDialog; (ColRecDlg 为创建的对话框类名)
theDialog.DoModal();
在 acrxEntryPoint.cpp 中加入包含文件 #include "ColRecDlg.h"
编译生成,加载之后输入 sd 命令即可出现创建的对话框。
点击更新按钮,出现消息框“ok”
至此这个简单的对话框程序就创建完成了,后面的步骤为废弃的。
(由于本对话框是模态对话框,故初始化对话框的消息,在退出对话框才显示)
Autodesk 类浏览工具,点击刷新按钮即可显示上一步创建的对话框类。
在该类上单击右键,选择添加变量;
选择私有类型 private;
变量类型输入 CAcUiPickButton;
变量名输入 ColCheck;
点击完成即可生成如下图所示代码。
为ColRecDlg添加 InitDialog 消息响应。
打开类视图在ColRecDlg 类上右键选择属性。出现ColRecDlg 类属性对话框。
在该属性对话框中点击 “重写”选项如下图所示。
重写InitDialog 消息响应。
下图中因为我已经选择了重写,故再次打开不第一次创建不同。
创建成功后应显示如下代码。
用同样的方法重写OnCancel消息响应。
这两个消息相应必须要创建的。



