找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1422|回复: 1

ObjectARX Technical Newsletter - November 1999

[复制链接]

已领礼包: 145个

财富等级: 日进斗金

发表于 2002-1-7 02:20:54 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
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

     ----------------------------------------------------------------------
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2004-3-9 21:24:52 | 显示全部楼层
没有讲清楚tooltips
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-5-15 18:39 , Processed in 0.314489 second(s), 33 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表