您的位置:技术工种之机修知识网 机械修理知识 正文
原作者:[标签:作者] 添加时间:2007-07-02 原文发表时间:2007-07-03 人气:1

本文章共3824字,分3页,当前第1页,快速翻页:
 



一.引言

AutoCAD是应用广泛的通用计算机辅助设计软件包。自AutoCAD 13版本开始,AutoDesk公司推出了一种新的面向对象的软件接口ARX(AutoCAD Runtime Extenstion)。该接口以VC 为开发语言,ARX库为开发工具,采用面向对象的编程方法且支持MFC编程。至此开发者们便获得了一片广阔的天空既可利用MFC,又可与ARX工具库结合来实现AutoCAD的二次开发。



Microsoft基础类库(MFC)是C 类库的扩展,它提供了大量预写类和支持码,可以处理许多标准Windows编程任务如生成窗口和处理消息。它也可以在程序中加入复杂的特性如工具条、分窗视图和OLE2支持。因此使用MFC可以简化程序编写,使开发者节省不少编码工作。ARX是自AutoCAD R13版开始特有的面向对象C 开发环境、功能强大、运算效率高。通过在CAD应用系统的应用表明,它的许多新特性能实现许多原来开发环境难以实现的功能,提高开发效率。ARX代表着AutoCAD的发展方向,将成为新一代应用软件开发的首选工具。



自Windows推出后,AutoCAD开发者们一直都在努力寻求一种方法使其应用程序既具有Windows的友好界面又不失其功能,但总是不尽人意,ARX的推出使开发者多年的愿望成为可能。针对以上的问题,本文将对如何在ARX应用程序中使用MFC的各个方面作一详尽讨论,并给出实现MFC与ARX应用结合开发出完美的AutoCAD应用程序的方法(本文讨论基于AutoCAD R14,ObjectARX 2.0进行)。



二.MFC在ARX应用中的常见问题



由于ARX应用既可以与动态链接的MFC库一起建立,也可与静态链接的MFC库一起建立,所以在ARX应用中我们可以充分利用MFC的优点。以下我们将分两部分对一些常见问题进行讨论。



采用动态链接还是静态链接



在一ARX应用中采用动态链接的MFC库还是静态链接的MFC库很大程度上是由应用程序性能与额外的AutoCAD开发中不同版本的协调间的比决定的。开发者应决定是动态链接所带来的性能优越更重要还是协调某一版本编译器与当前版本AutoCAD所采用的编译器的一致性更重要。以动态链接的MFC库形式建立的ARX应用与AutoCAD共享同一MFC动态链接库,因此该应用比采用静态链接的MFC库形式建立的应用更小、运行效率更高。然而它却具有:①.所用的开发编译器必须与用来构建AutoCAD的编译器版本相同 ②.最新版本的开发编译器可能无法使用 ③.在新发行的AutoCAD版本中以早期版本建立的ARX应用可能无法工作等缺点。



由于静态链接的MFC库形式建立的ARX应用把MFC库也加载到了每一静态链接的ARX应用中,故上述问题对此类ARX应用不存在但此类应用却有:①.更大的内存要求②.运行速度慢(因所需的交换空间更大)等缺点。因此开发者应权衡利弊再作取舍(本文仅讨论动态链接的情况,静态链接与动态链接极为相似,读者可参考相应的开发文档)。



MFC和无模式对话框



因AutoCAD总是试图不使系统聚焦于其子窗口,故无模式对话框应当发出一请求。在一常规间歇内,无模式对话框将收到WM_ACAD_KEEPFOCUS窗口消息(在adscodes.h中定义为1001)。当对话框接收到此消息时,如其想保持聚焦则应返回TRUE,否则返回FALSE(缺省值),此时鼠标一离开对话框系统就不再聚焦于对话框。在对话框的消息映射中ON_MESSAGE()函数如下:



BEGIN_MESSAGE_MAP( HelloDlg, CDialog )



ON_COMMAND( IDCLOSE, OnClose )



ON_COMMAND( IDC_DRAW_CIRCLE, OnDrawCircle )



ON_MESSAGE( WM_ACAD_KEEPFOCUS, onAcadKeepFocus )



END_MESSAGE_MAP()



在这里应用对话框类为HelloDlg,它由Cdialog类派生。当将这一入口加入到消息映射中时必须为该消息写一句柄函数。假定我们已写了一函数keepFocus(),它在对话框想保持聚焦时返回TRUE,反之返回FALSE则消息句柄函数应为:



afx_msg LONG HelloDlg::onAcadKeepFocus( UINT, LONG )
 

本文章更多内容1 - 2 - 3 - 下一页>>
本页地址
相关文章

数控机床业生变国开行欲做整合推手 -
数控机床加工椭圆曲线的一种新编程法 -
CNC系统巨量NC程序解释实现的方法 -
现代切削液的特点及发展趋势 -
加工U形箍专用自动机床的设计 -
高速铣削刀具悬伸量的试验研究 -
数控机床加工精度异常故障的诊断与处理 -
FabriWIN数控冲压/切割加工编程之一 -
数控机床联网DNC现实与展望 -
线切割加工中电极丝的选用 -
滚珠丝杠副的发展趋势 -
圆压圆模切技术的发展突破 -
数控软件质量控制 -
虚拟制造中产品的性能分析 -
高速高效切削加工技术的现状及发展趋势 -
三菱数控系统技术特点简介 -
新型测量技术的开拓者 -
数控机床大修改造方案的选择 -
模具制造新技术凸显成本优势 -
机床使用中的多种驱动器概念 -

相关评论


本文章所属分类:首页 机械修理知识