第1章 ObjectARX开发概述 1
1.1 ObjectARX 2000介绍 1
1.1.1 ADS与ARX的比较 2
1.1.2 ObjectARX 2000库文件简介 5
1.1.3 ObjectARX 2000新特点 6
1.1.4 ObjectARX 2000开发功能 8
1.2 Visual C++ 6.0开发环境 9
1.2.1 File菜单 10
1.2.2 Edit菜单 13
1.2.3 View菜单 15
1.2.4 Insert菜单 16
1.2.5 Project菜单 17
1.2.6 Build菜单 18
1.2.7 Debug菜单 19
1.2.8 Tools菜单 22
1.2.9 Window菜单 25
1.2.10 Help菜单 25
1.3 定制开发环境 26
1.3.1 设置资源路径 27
1.3.2 扩展联机帮助 28
1.3.3 添加高亮度显示关键字 31
1.4.1 AutoCAD 2000运行环境 32
1.4 ObjectARX程序的运行 32
1.4.2 ARX程序的消息响应 37
1.4.3 ARX程序的事件顺序 38
1.5 小结 39
第2章 面向对象编程技术 40
2.1 面向对象的基本概念 40
2.1.1 数据抽象 41
2.1.2 数据封装 41
2.2 面向对象技术在C++中的实现 42
2.2.1 C++类与结构的比较 42
2.1.4 多态性 42
2.1.3 继承性 42
2.2.2 数据成员和成员函数 46
2.2.3 构造函数和析构函数 47
2.2.4 类对象的生成方法 50
2.2.5 数据成员和成员函数的访问 51
2.2.6 友元函数和友元类 51
2.2.7 类的继承 52
2.2.8 类的多态性——函数重载和运算符重载 55
2.2.9 类的多态性——虚函数和纯虚函数 58
2.3 小结 61
第3章 一个简单的ARX程序 62
3.1 动态库基本知识 62
3.2.1 新建并设置工程 63
3.2 ARX程序的创建 63
3.2.2 编写源代码 68
3.2.3 编译并运行 74
3.3 ARX程序的调试 76
3.4 小结 79
第4章 ADSRX程序开发方法 81
4.1 基本知识 81
4.1.1 常规数据类型 81
4.1.2 结果缓冲区 82
4.1.3 应用程序请求码、结果码 84
4.2 函数的变化 84
4.3.1 AutoLISP类型 87
4.3 应用程序框架的构造方法 87
4.3.2 ARX类型 88
4.4 一个简单的例程 88
4.5 选择集的构造和使用 95
4.5.1 重要函数的介绍 95
4.5.2 选择集的处理 95
4.5.3 应用例程 100
4.6 小结 110
第5章 图形数据库编程 111
5.1 图形数据库概述 111
5.1.1 最基本的图形数据库对象 111
5.1.2 创建数据库对象 112
5.2.1 初始化数据库 119
5.2 图形数据库操作 119
5.2.2 创建和增加数据库 120
5.2.3 保存图形数据库 120
5.2.4 块输出操作 121
5.2.5 插入一个数据库 122
5.2.6 设置当前数据库的值 122
5.2.7 应用例程 123
5.3 多文档界面 128
5.3.1 多文档界面简介 128
5.3.2 SDI系统变量 128
5.3.4 多文档间的交互 129
5.3.3 兼容层次 129
5.3.5 非重入命令 130
5.3.6 应用例程 130
5.4 小结 141
第6章 ObjectARX与MFC混合编程 142
6.1 在ObjectARX中使用MFC 142
6.2 与MFC动态链接的ObjectARX应用程序 143
6.2.1 动态链接MFC库时Visual C++的参数设置 143
6.2.2 动态链接MFC库时对ObjectARX应用程序的调试 144
6.2.3 资源管理 144
6.3 内置的MFC用户界面支持 145
6.3.1 类库图谱 145
6.3.2 AdUi对话框类和AcUi对话框类 146
6.3.3 AdUi控制条类和AcUi控制条类 147
6.3.4 AdUi和AcUi编程控件 147
6.3.5 AdUi和AcUi组合框控件 148
6.3.6 AdUi和AcUi按钮类 148
6.3.7 使用和扩展AdUi选项标签对话框体系 148
6.3.8 构造一个可扩展的用户选项标签对话框 148
6.3.9 扩展AutoCAD内置的选项标签对话框功能 149
6.4 AppWizard使用AdUi和AcUi类库的方法 151
6.4.1 创建ObjectARX MFC应用程序的框 151
6.4.2 利用App Studio创建MFC对话框 153
6.4.3 创建类和控件 153
6.4.4 创建对话框的处理函数 154
6.4.5 在处理函数中添加代码 155
6.5 小结 170
第7章 对话框控制语言 171
7.1 对话框样例 171
7.1.1 编写DCL源代码 171
7.1.2 对话框的调用 174
7.1.3 对话框的调试 176
7.1.4 回调函数 178
7.1.5 片型框模式 183
7.2 片型框原型介绍 186
7.2.1 命令按钮 186
7.2.2 文本编辑框 187
7.2.3 列表框 188
7.2.4 下拉式列表 189
7.2.5 图像按钮 190
7.2.6 单选按钮 193
7.2.7 核选框 195
7.2.8 滑动条 196
7.2.9 图像框 196
7.2.10 文本框 197
7.2.11 片型框属性小结 199
7.3 DCL对话框的布局 204
7.3.1 水平排列 205
7.3.2 垂直排列 206
7.3.3 调整空白区 207
7.4 片型框的引用 208
7.5 应用例程 212
7.6 小结 220
第8章 消息的应用 221
8.1 基于消息机制的编程 221
8.1.1 ARX API函数 221
8.1.2 向AutoCAD发送字符串命令 223
8.1.3 设置进度条 230
8.1.4 建立ARX程序的消息循环 231
8.2 钩子函数 232
8.2.1 监测和过滤消息 233
8.2.2 快捷键的定义 241
8.3 小结 244
第9章 COM编程接口 245
9.1 COM的基本概念 245
9.1.1 类型库 246
9.1.2 接口 246
9.1.3 引用次数 247
9.2 在C++语言中的应用 248
9.2.1 建立工程 248
9.2.2 添加实现代码 249
9.3 在Java语言中的应用 255
9.3.1 建立工程 256
9.3.2 编辑菜单资源 258
9.3.3 输入AutoCAD类型库 259
9.3.4 添加实现代码 260
9.3.5 编译工程并运行 266
9.4 小结 268
第10章 定制菜单 269
10.1 菜单文件类型 269
10.2 菜单定制语法 271
10.2.1 标签文本 272
10.2.2 菜单宏命令 272
10.2.3 DIESEL表达式 274
10.3 菜单节 277
10.3.1 菜单组 278
10.3.2 下拉菜单和快捷菜单 278
10.3.3 辅助及按钮菜单 281
10.3.4 屏幕菜单 283
10.3.5 帮助提示 286
10.3.6 加速键 288
10.3.7 数字输入板菜单 290
10.3.8 图像菜单 291
10.3.9 工具栏 293
10.4 小结 296
11.1.1 连接库的修改 297
11.1 从AutoCAD 14.0移植 297
第11章 应用程序的移植 297
11.1.2 源代码的修改 298
11.1.3 应用例程 300
11.2 从AutoCAD 12.0移植 307
11.2.1 连接库的修改 308
11.2.2 源代码的修改 308
11.2.3 应用例程 310
11.3 小结 325
附录A ADSRX库函数参考 326
附录B ObjectARX类库参考 371
附录C AutoCAD 2000系统变量 400