© 博学网 (Boxue58)

 Forgot password?
 注册register
Search
12Next
Return to list New
View: 12776|Reply: 14
Collapse the left

[原创]AutoCAD ObjectARX二次开发实例(2)——状态栏上进度条、模式对话框

  [Copy link]
Post time 2009-6-8 20:39:57 | Show all posts |Read mode

I want to Be A member...

You have to Login for download or view attachment(s). No Account? Register

x
本文为原创,如需转载,请注明出处!
一、状态栏上进度条的使用
在AutoCAD中使用状态栏,主要是在AutoCAD的状态栏中内嵌一个进度条,用于显示你所需要的演示的进度过程。使用状态栏上的进度条的步骤如下:

a. acedSetStatusBarProgressMeter函数在AutoCAD状态栏上设置一进度条,此函数的第一参数为进度条设置一名称标志,在进度条的左侧显示,第二、三参数指定进度的最小位置和最大位置。
b. acedSetStatusBarProgressMeterPos函数用于根据你的需要设置进度条的进度位置。
c. acedRestoreStatusBar函数恢复AutoCAD原来的状态栏。
状态栏的例子在SDK中的Progbar。
二、模式对话框
模式对话框的使用与平常的MFC程序无异。其中涉及两个类的使用,如下:
CAcModuleResourceOverride类:
众所周知,对话框是需要使用资源的,而AutoCAD作为ARX的宿主程序,其自身也涉及到资源的使用,并且这两种资源的管理方式不是一样的(CAD具体如何管理资源,还未找到相关资料)。为防止CAD的资源与你的ARX程序的资源产生冲突,需要在这两种资源之间进行切换。CAcModuleResourceOverride的作用就是使用这个类的一个实例对象在这两种资源之间进行切换。当这个实例对象构造时,切换到你的ARX程序所提供的资源;当此对象析构时,切换回原来的资源。如下面的使用方法:
Guest, if you want to see the hidden content, please Reply
2、
使用NULL参数构造。选择DLL提供的资源。当对象析构时,恢复原来的资源。
3、
使用一个非NULL参数构造。选择相关的DLL的资源,这个DLL与当前模块可能不一样。
由上述可见,资源的维护与CAcExtensionModule为有关。
CAcExtensionModule类:
如前所述,CAcExtensionModule类与资源的维护有关,这个类有两个目的。首先,此类为AFX_EXTENSION_MODULE结构(通常用于初始化或终结一个MFC扩展DLL)提供一个占位符。第二,为前述的DLL跟踪两类资源的提供者。这两类的资源提供者是模块的资源(通常是DLL本身,但也可是其它的模块)和默认资源(通常是宿主程序,如CAD)。
模式对话框的主要使用步骤如下:
a.
声明一个CAcModuleResourceOverride类的实例。
b.
用宿主程序的窗口句柄初始化对话框。
c.
调用对话框的DoModal函数。
如下例:
CTestDlg dlg(CWnd::FromHandle(adsw_acadMainWnd()));
dlg.DoModal();
前述的宿主程序的窗口句柄也可用acedGetAcadFrame()->m_hWnd得到。]

Rate

Number of participants 1Money +50 Collapse Reason
wuyunpeng888 + 50 新血注入。New resources injection.

View Rating Log

Post time 2009-10-8 07:45:02 | Show all posts
看看哦 看看
Post time 2009-10-13 07:30:29 | Show all posts
学习学习,学点东西总有好处的
Post time 2009-10-30 11:20:21 | Show all posts
状态栏上进度条、模式对话框

学习学习。
Post time 2009-11-16 10:01:39 | Show all posts
谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢
Post time 2010-1-29 20:31:24 | Show all posts
看看先了
Post time 2010-9-13 22:25:58 | Show all posts
??--------------------------
Post time 2010-10-14 22:20:24 | Show all posts
看看先,或许对我有用
Post time 2010-10-22 14:00:29 | Show all posts
呵呵,看看,支持一下了
Post time 2011-2-23 09:34:22 | Show all posts
好东西,谢谢!!!
12Next
Return to list New
You have to log in before you can reply Login | 注册register

Points Rules

QQ|Dark|Moble|博学网 (Boxue58/Boxuesky) ( wechat: boxuesky )

2020-9-24 08:06 GMT+8

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

Quick Reply To Top Return to the list