Built-In MFC User Interface Support

ObjectARX has a set of MFC User Interface (UI)-related classes that easily allow you to provide a consistent UI. This means your UI can behave like and have the appearance of the AutoCAD UI. It is highly recommended that you use these classes because they allow your application to be more tightly integrated with the AutoCAD UI. The Autodesk MFC extension classes include the AdUi and AcUi libraries, as well as the libraries that support features like file navigation dialogs and tool palettes. AdUi is not AutoCAD-specific. AcUi contains AutoCAD-specific appearance and behavior. For a complete MFC extension class hierarchy diagram, see classmap.dwg in the ObjectARX classmap directory.

AdUi is an MFC extension DLL 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 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 ObjectARX developers to use the same UI functionality found in AutoCAD. MFC developers can seamlessly use these classes. Listed below are some of 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 adui24.lib (the adui24.dll 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 acui24.lib and adui24.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.

Danger: Although adui24.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 features such as the following:

Note: If you include either acui.h or acuinavdialog.h in your source, you must include the afxole.h header file beforehand. If afxole.h is not included first, multiple compiler errors will result.