- UID
- 1
- 积分
- 15891
- 精华
- 贡献
-
- 威望
-
- 活跃度
-
- D豆
-
- 在线时间
- 小时
- 注册时间
- 2002-1-3
- 最后登录
- 1970-1-1
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
ObjectARX Technical Newsletter - November 1999
This document is part of ObjectARX Newsletter Archive
/Note: the URLs in this posting may be broken into several lines by the
transmission media. Please make sure that you have the full URL before
trying to access it./
/Note: Have you missed a Newsletter issue? Visit our Newsletter archive at
the following URL:/
http://adn.autodesk.com/techsupp/docs/newsletters.htm
Dear ObjectARX developer,
Table of Contents
=================
(1) ObjectARX and MFC
(2) AutoCAD Extension classes (AdUi/AcUi classes)
(3) The ObjectARX Wizard Add-In
(4) New Solutions
(5) ObjectARX UI Training
(1) ObjectARX and MFC
=====================
Many ObjectARX developers use Microsoft Foundation Classes (MFC) in their ARX
and DBX applications. Using MFC in these applications has proved to be
somewhat problematic. The main reason for this is that using MFC in a
standalone EXE is very different from using MFC in a DLL. Developers are
usually not aware of the special issues that they have to face in such a
situation namely:
* Module State and
* Resource management
AutoCAD R14 and R2000 both use MFC and expose APIs that return MFC objects.
This introduces two additional problems:
* Lack of module state management in certain AutoCAD APIs
* Special APIs that assume a certain module state is current
(Please note that the above two problems seem to be identical, this
newsletter will discuss this point in more detail later in this article.)
This newsletter discusses these issues and provides the steps required
to avoid these problems.
With R2000, ObjectARX developers can develop two kinds of applications:
* ARX applications that extend AutoCAD. If these applications use MFC,
they will need to be able to deal with AutoCAD's fiber architecture and
AutoCAD's own usage of MFC.
* DBX applications that extend the drawing database via the ObjectDBX system.
DBX developers will need to be able to cope with the fact that DBX apps
can be loaded into host applications that may or may not be MFC hosts.
For more details and a complete description of the above problems and
solutions, please continue your reading with the following White Paper:
"MFC Module State Implementation, Resource Handling & AutoCAD"
located at the following URL:
http://adn.autodesk.com/techsupp/utilitiestechpapers.htm
(2) AutoCAD Extension classes (AdUi/AcUi classes)
=================================================
ObjectARX has a set of MFC User Interface (UI) related classes that easily
allow you to provide a consistent UI in your applications. This means your
UI can behave like and have the appearance of the AutoCAD UI. It is highly
recommended to make use of these classes, since they allow your application
to be more tightly integrated with the AutoCAD UI. The Autodesk MFC system
is divided into two libraries. The first is called AdUi and is not AutoCAD
specific. The second is called AcUi and is AutoCAD specific in it's
appearance and behavior.
AdUi is an MFC extension dynamic link library used to extend some of the UI
related classes of MFC. The library was developed for use with AutoCAD and
other Autodesk products and contains core functionality. The companion
library, AcUi, builds upon the AdUi's framework and provides AutoCAD
specific appearance and behavior. The AdUi and AcUi libraries provide
classes that extend those provided by MFC in ways that allow ARX developers
to use and leverage the same UI functionality found in AutoCAD. MFC developers
can seamlessly use these classes. Listed below are the main areas of added
functionality provided by AdUi and AcUi.
To use AdUi in an MFC based application, the project's C++ source files must
include adui.h and the project should link to adui15.lib (the adui15.dll's
import library).
To use AcUi in an MFC based AutoCAD application, the project's C++ source
files must include adui.h, then acui.h, and the project should link to the
acui15.lib and the adui15.lib. AutoCAD invokes the library's initialization
routine, InitAcUiDLL(), which also handles the AdUi initialization
(via an InitAdUiDLL() call); therefore your application need not
reinitialize AcUi or AdUi.
WARNING! Although adui15.dll may be called from MFC based applications other
than AutoCAD (or other Autodesk products), the library's intended use is by
Autodesk and third parties expressly for the creation of software to work
exclusively with AutoCAD, or other Autodesk products. Use of this DLL for
non-AutoCAD, standalone products is not permitted under the AutoCAD
license agreement.
AdUi and AcUi provide classes that implement the following features:
+ Dialog resizing
+ Dialog data persistency
+ Tabbed dialogs
+ Extensible tabbed dialogs
+ Context-sensitive help and F1 help
+ Dialog interaction with AutoCAD's drawing editor
+ Bitmap buttons that are easy to use
+ Static bitmap buttons
+ Bitmap buttons that are drag and drop sites
+ Toolbar-style bitmap buttons
+ Owner-draw buttons that are easy to use
+ Dialog and control support for standard ToolTips
+ Dialog and control support for TextTips (which display truncated text)
+ Dialog and control support for DrawTips (owner-draw TextTips)
+ Custom messaging, including data validation
+ Combo boxes that display and allow the selection of many AutoCAD specific
items
+ Docking control bar windows for use with AutoCAD
+ AutoCAD-specific bitmap buttons (stock Pick and Select buttons)
+ Specialized edit controls that can perform AutoCAD-specific data
validation
+ Custom messaging, including data validation
See the following solutions for more details:
HOW TO USE SOME OF THE ACUI FEATURES
/cgi-bin/solution.pl?SID=41309
COMBOBOX/MOUSE OVER/DISAPPEAR AND TEXT SIZE IN DOCKBAR
/cgi-bin/solution.pl?SID=44965
TOOLTIP FOR THE BITMAP BUTTON AND MORE
/cgi-bin/solution.pl?SID=45283
Some other solutions are in process of being published and will appear very
soon on the ADN WEB site. Please monitor the AdUi/AcUi signposts in the near
future at:
http://adn.autodesk.com/techsupp/apikb/_acui_adui.htm
A sample using the above classes is also available at:
http://adn.autodesk.com/techsupp/utilitiessamples.htm
(3) The ObjectARX Wizard Add-In
===============================
Another important item is that the ObjectARX 2000 Wizard fully supports all
of the AdUi/AcUi classes. When you select the "MFC" button from the
ObjectARX 2000 Add-in toolbar, you will be presented with a dialog box from
which you can create a new derived class from one of the above AdUi/AcUi
classes. The Wizard implements all the necessary code in the .clw file to
allow you to manage the classes from the standard MFC class wizard later.
Also the MFC class wizard will include all of the AdUi/AcUi controls in it
to allow you to define AutoCAD controls into standard MFC dialogs.
The latest ObjectARX 2000 Wizard can be downloaded from:
http://adn.autodesk.com/techsupp/utilitieswizards.htm
(4) New Solutions
=================
HOW CAN A PERSISTANT REACTOR ERASE ITSELF?
/cgi-bin/solution.pl?SID=45192
HOW TO CALL COMMANDS SYNCHRONOUSLY FROM THE APPLICATION CONTEXT
/cgi-bin/solution.pl?SID=44783
DISPLAY ATTRIBUTE DIALOG AFTER REALTIME ZOOM OR PAN
/cgi-bin/solution.pl?SID=45317
DERIVING A CUSTOM ENTITY FROM A BLOCK REFERENCE.
/cgi-bin/solution.pl?SID=31523
REGISTERAPPNOTMDIAWARE PREVENTS TOOLBARS FROM SHOWING THEIR BUTTONS
/cgi-bin/solution.pl?SID=39233
MAKING NON-DATABASE RESIDENT OBJECTS WORK WITH UNDO
/cgi-bin/solution.pl?SID=45066
HOW TO CLIP XREFS PROGRAMMETICALLY
/cgi-bin/solution.pl?SID=45413
DXF GROUP CODE 100 MEANING
/cgi-bin/solution.pl?SID=45287
COPY OF ACDBREGION OR ACDB3DSOLID IS NULL DURING DRAGGING
/cgi-bin/solution.pl?SID=45284
Plenty other new solutions are available at the following URLs:
7 days old solutions
/scripts/whatsnew.pl
90 days old solutions
http://adn.autodesk.com/techsupp/apikb/whatsnew2.htm
(5) The ObjectARX UI Training
=============================
Advanced Training User Interfaces
---------------------------------
Description:
This class is for developers who want to modernize the user interface of
their applications and integrate better into Windows. The course focuses
on using MFC and ObjectARX for AutoCAD 2000.
Target audience are Third party developers, OEM customers, major account
developers and prospective development partners. This course is not suited
for developers who already make advanced use of MFC in their applications.
It is for those who want to begin using MFC in their applications.
Prerequisites:
Knowledge MSVC++ and ObjectARX, some MFC.
Objectives:
Use of MFC in ObjectARX applications
Customizing menus for AutoCAD 2000
Introduction to new ObjectARX MFC API and Classes
Contents:
Introducing to regular and Extension DLLs
Overriding resources
Create modal and modeless dialogue boxes in MFC/ObjectARX applications
Creating toolbars
Extended Tabbed Dialogs
Separate MDI window
Dockable Dialog Bar
Installing applications.
Introduction to VBA with AutoCAD 2000
Next Training Session:
ObjectARX UI Training: Heusenstamm (Germany) December 9 1999 UI-HE4
-----------------------------------------------------------------------------
To subscribe or unsubscribe, go to
http://adn.autodesk.com/techsupp/docs/newsletters.htm
-----------------------------------------------------------------------------
You received this message as a result of your registration
on the ADN List Server subscription page. If you no longer wish
to receive these messages, read the next section, How to use this
mailing list.
How to use this mailing list:
You may unsubscribe from this e-mail newsletter, or subscribe to
a variety of other informative e-mail newsletters, by returning
to the ADN List Server subscription page at
http://adn.autodesk.com/techsupp/docs/newsletters.htm
and changing your subscription preferences.
Alternatively, from the subscribed account you can send an e-mail to
<Majordomo-partnersys@autodesk.com> with the following command in the
body of your email message:
unsubscribe <list-name>
----------------------------------------------------------------------
Autodesk Developer Network (ADN) information and events:
For information on all ADN topics, please visit:
http://www.autodesk.com/adn
----------------------------------------------------------------------
THIS DOCUMENT IS PROVIDED FOR INFORMATIONAL PURPOSES ONLY. The
information contained in this document represents the current view of
Autodesk Inc. on the issues discussed as of the date of publication.
Because Autodesk must respond to change in market conditions, it
should not be interpreted to be a commitment on the part of Autodesk
and Autodesk cannot guarantee the accuracy of any information
presented after the date of publication.
INFORMATION PROVIDED IN THIS DOCUMENT IS PROVIDED 'AS IS' WITHOUT
WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT
LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
PARTICULAR PURPOSE AND FREEDOM FROM INFRINGEMENT.
The user assumes the entire risk as to the accuracy and the use of
this document. This document may be copied and distributed subject to
the following conditions:
1. All text must be copied without modification and all pages must
be included
2. All copies must contain Autodesk's copyright notice and any other
notices provided therein
3. This document may not be distributed for profit
---------------------------------------------------------------------- |
|