MFC如何在CAD二次开发中实现模态对话框

一、知识点(课程在  yunyou.ke.qq.com 报名并添加老师微信获取进一步资料)

1、使用MFC的对话框在ObjectARX应用程序中创建模态对话框的一般过程。

2、使用基于ObjectARX的对话框创建与AutoCAD风格相同的用户界面,以及隐藏模态对话框和AutoCAD进行交互的方法。

二、知识点(课程在  yunyou.ke.qq.com 报名并添加老师微信获取进一步资料)

1、思路:

在ObjectARX中显示一个模态对话框非常简单,只需要创建一个对话框,并将其余CDialog或其派生类相关联,调用CDialog类的DoModal函数即可。

在ObjectARX中,以AcUi开头的类用于创建与AutoCAD风格一致的用户界面,这组类从MFC继承,除了具有基类的特性外,还引入一些在AutoCAD中特有的特性。

2、实现:
(1)直接使用MFC

1)打开VS2012 ,新建一个ARX项目,需要勾选:在共享的MFC库里面使用MFC,其他的可以保持默认。

2)添加对话框资源,在解决方案资源管理器的.rc文件双击,就会弹出资源视图。在资源视图界面,点击右键插入对话框资源。在资源设计视图里面:标题和ID等内容可以进行修改。根据需要添加其他需要添加的控件。3)为对话框资源添加对应的类。就是在对话框设计视图双击就行,就会弹出对应的对话框用来新建对话框类的,确定后就会生成两个文件  对话框类.h 对话框类.Cpp文件。

3)此时需要注意的是,若工程编译不成功,就需要在“对话框类.h”  #include "resource.h"

4)需要在acrxEntryPoint.cpp文件里面去添加命令的定义,还有命令的实现函数,用来使用我们的对话框的(要使用CMfcDialog类,需要在开头处添加头文件的包含#include "MfcDialog.h")。

ACED_ARXCOMMAND_ENTRY_AUTO(CModalDialogApp, yunyouMyGroup, MfcModal, MfcModal, ACRX_CMD_MODAL, NULL)

 

static void yunyouMyGroupMfcModal () {

CMfcDialog theDialog;

if (theDialog.DoModal()==IDOK)

{

AfxMessageBox(TEXT("点击确定关闭了对话框!"));

}

}

5)编译和测试(编译时注意与自己的机器平台一致,win32还是 X64)。

(2)使用ObjectARX基于MFC的类库(AcUi打头的类库)

1)添加类

2)添加成员变量3)添加消息响应函数

进一步资料请在 yunyou.ke.qq.com报名公开课并添加老师微信后获取。

总结

1、使用MFC是ObjectARX程序创建丰富界面的重要途径,商业ARX程序无一不使用MFC。

2、模态对话框显示的一般步骤。

3、处理对话框事件。

4、使用与AUTODESK风格一致的控件。

5、隐藏对话框和AUTOCAD进行交互的方法。

6、将CString类型的变量转为double类型。

7、用户手工修改文本框内容之后,更新成员变量的方法。

 

你可能感兴趣的:(ObjectARX,模式对话框,ARX,OBJECTARX,C++,AUTOCAD)