ObjectARX帮助 > ObjectARX开发实例教程 > 第1章 ObjectARX 编程基础 > 1.4 用向导创建 Hello,World 程序 >
1.4.3 步骤
后退前进

      (1)启动VC++ 6.0,选择【File/New】菜单项,系统会弹出如图1.29所示的对话框。从项目列表中选择【ObjectARX 2000/2000i/2002 AppWizard】选项,输入Hello2作为项目名称,指定适当的保存位置,单击【OK】按钮。

图1.29 输入项目名称和保存位置

     (2) 系统会弹出如图1.30所示的对话框。输入你的注册名称(可用公司名称或你的个人名称作为前缀,避免和其他工程在命名上的重复),其他选项使用默认值,单击【Next】按钮。

图1.30 输入工程选项

   (3)系统会弹出如图1.31所示的对话框,显示了已经创建的项目信息,包含了向导创建的各个文件及其作用:

      ■    StdAfx.cpp 和 StdAfx.h:预编译头文件的创建。

      ■    Hello2.cpp:应用程序入口点。

      ■    Hello2.def:模块输出文件。

      ■    StdArx.h:项目特定函数所需要的通用头文件声明。

      ■    Resource.h:资源标记的声明。

      ■    res\Hello2.rc2:工程的第二个资源文件。

      ■     ObjectARX.prj:ObjectARX 2000 插件所需要的项目设置。

      ■    RxDebug.cpp 和 RxDebug.h:有用的调试工具。

      ■    DocData.h 和 DocData.cpp:文档数据的封装类。

      ■    AdskDMgr.h:定义 Autodesk 数据管理模板类。

图1.31 项目信息的汇总

     (4)单击【OK】按钮关闭对话框,完成项目的创建。如果你愿意,可以选择【Project/Settings】菜单项,切换到【Debug】选项卡,在【Executable for debug session】文本框中指定AutoCAD 2002的位置,如图1.32所示。这样,在第一次调试程序时,系统就不会提示用户指定可执行程序的位置,也就是图1.23的提示。

图1.32 输入 AutoCAD 2002 的位置

    (5)分析向导生成的代码。这里还不准备探讨向导生成的 AsdkDataManager 和 CDocData类的作用,现在看起来还比较难以理解,何况它们对现在的程序没有什么影响,在后面的篇幅中会慢慢介绍。在 Hello2.cpp 文件中,向导创建了如下几个函数:

    AcrxEntryPoint 函数:ObjectARX 入口点函数,在上节的程序中已经介绍,这里也并无特殊之处。

    InitApplication 函数:同样在上节已经介绍,用于应用程序的初始化。

    UnloadApplication 函数:已介绍过,用于清理应用程序的相关命令。

    _hdllInstance 变量:在 DllMain 函数中使用,一般不用注意。

    DllMain 函数:动态链接库(DLL)的入口点函数,一般来说不用注意。

    AddCommand 函数:封装了 addCommand 函数,用于向 AutoCAD 注册命令。

    (6)注册一个新的Hello命令。单击ObjectARX嵌入工具栏的“ObjectARX commands”按钮,系统会弹出如图1.33所示的注册命令对话框。在【Command flags】选项组中,从【Document】列表中选择【Shared write】选项,取消选择【Use pickset】复选框。在【Group】文本框中输入BASIC,【International】文本框中输入Hello,左键在【Local】文本框内单击,系统自动添加Hello文本,使用系统自动给出的名称ZffBASICHello作为Hello命令执 行的函数名称。

     设置命令名称和标记之后,单击【Add】命令就能注册该命令。单击【OK】按钮关闭命令注册的对话框。

图1.33 注册新的 Hello 命令

    (7)注册命令之后,系统自动生成了一个 Hello2Commands.cpp 文件,其中包含了 Hello命令的实现函数 ZffBASICHello 的定义,当然还没有任何的内容。在该函数中添加代码:

 
         void ZffBASICHello()
         {
              acutPrintf("Hello,World!");
         }

    到此为止,项目全部完成!你应该能看出使用向导节省了多少工作量。


ObjectARX开发实例教程(张帆)