第1篇 开发基础篇 1
第1章 VisualBasic绘图基础 1
1.1 概述 1
1.2 用VB绘图 1
1.2.1 颜色设置 1
1.2.2 线型、线宽设置 2
1.2.3 字体设置 2
1.2.4 区域填充 4
1.2.5 绘图模式 5
1.2.6 绘直线段、矩形和矩形区域 6
1.2.7 绘圆、椭圆、圆弧和椭圆弧 7
1.2.8 更新和清除 7
1.2.9 用VB属性和方法绘图示例 8
1.2.10 图形控件 15
1.3.1 API函数的声明 16
1.3 用API函数绘图 16
1.3.2 API浏览器 18
1.3.3 参数数据类型的匹配 21
1.3.4 画笔 22
1.3.5 刷子 24
1.3.6 绘图 24
1.3.7 区域 26
1.3.8 API函数绘图示例 28
1.4 坐标系统 33
1.4.1 逻辑坐标 34
1.4.2 设备坐标 34
1.4.3 Windows映射模式 34
1.4.4 用户坐标 35
1.4.5 坐标转换 35
1.4.6 用VB属性和方法处理坐标 42
1.5.1 概念 50
1.5 窗口与视口 50
1.6 本章小结 51
1.5.2 相关函数 51
第2章 VisualBasic的面向对象编程技术 52
2.1 对象 52
2.1.1 概念 52
2.1.2 面向对象编程的特点 52
2.1.3 VB对象的创建、操作和拆卸 53
2.2 类 56
2.2.1 创建类模块 56
2.2.2 属生 56
2.2.3 方法 62
2.2.4 事件 63
2.2.5 创建和测试新类 64
2.2.6 VB的类生成器 70
2.3.2 接口 75
2.3 多态 75
2.3.1 继承和多态 75
2.3.3 用接口实现多态 76
2.3.4 后期绑定和前期绑定 77
2.4 集合类 79
2.4.1 对象数组 79
2.4.2 集合 80
2.4.3 集合类 82
2.5 本章小结 88
第3章 基本图形元素之间的几何关系基础 89
3.1 点与其他图元之间的关系 89
3.1.1 点与点之间的关系 89
3.1.2 点与直线的关系 90
3.2.1 直线段与直线段之间的关系 91
3.2 直线段与其他图元之间的关系 91
3.1.4 点与圆弧的关系 91
3.1.3 点与圆之间的关系 91
3.2.2 直线段与圆的关系 92
3.2.3 直线段与圆弧的关系 93
3.3 圆与其他图元的关系 93
3.3.1 圆与圆的关系 93
3.3.2 圆与圆弧的关系 94
3.4 圆弧与其他图元之间的关系 94
3.5 图元关系演示程序 94
3.6 本章小结 118
第2篇 交互式绘图篇 119
第4章 交互式CAD技术概述 119
4.1 交互式CAD技术简介 119
4.2 交互设计的任务 119
4.2.1 定位 119
4.4 交互设计的基本技术 120
4.3 交互设计的基本原则 120
4.4.1 定位 120
4.2.2 定向 120
4.2.4 任务选择 120
4.2.3 定量 120
4.4.2 拾取 123
4.4.3 选择 124
4.4.4 手柄及相关技术 124
4.4.5 相交图元 124
4.4.6 菜单和工具 125
4.4.7 对话框 125
4.4.8 状态提示 125
4.5 交互式CAD技术的应用 125
4.5.1 交互式CAD技术在办公软件中的应用 125
4.5.4 数值模拟软件中的交互式CAD技术 126
4.5.3 GIS软件中的交互式CAD技术 126
4.5.2 交互式CAD技术在绘图软件中的应用 126
4.5.5 工程设计软件中的交互式CAD技术 128
4.5.6 数学分析软件中的交互式CAD技术 129
4.6 本章小结 138
第5章 交互式CAD系统的总体设计 139
5.1 数据的组织和描述 139
5.1.1 数据结构 139
5.1.2 数学模型 139
5.2 数据的输入 142
5.2.1 传统的数据输入方式 142
5.2.2 交互式对话框数据输入 143
5.2.3 交互式鼠标绘图数据输入 143
5.3 数据的管理 144
5.3.1 Type结构和VB类 144
5.2.4 实现用鼠标交互式输入数据 144
5.3.2 多义线顶点的存储 149
5.3.3 集合类 151
5.4 数据编辑 152
5.4.1 图元拾取和选择 152
5.4.2 图元的剪切、复制、粘贴和删除 152
5.4.3 图形块和图层 152
5.4.4 图元的几何变换 152
5.4.5 图元的级联修改 153
5.5 数据的输出 153
5.5.1 文本输出 153
5.5.2 以DXF格式输出 153
5.6 交互式CAD系统的UML类图 153
5.6.1 系统的UML类图 154
5.6.2 基类CGelement 155
5.6.3 派生类CLine等 156
5.6.5 创建直线类CCreateLine 162
5.6.4 基类CCommand 162
5.7 绘图工具 164
5.7.1 网格 164
5.7.2 手柄 164
5.7.3 SnapTo功能 164
5.7.4 距离和角度测量 164
5.8 界面交互 165
5.9 本章小结 165
第6章 用鼠标交互绘制图元 166
6.1 概述 166
6.1.1 消息驱动与事件驱动 166
6.1.2 鼠标类消息和VB中的鼠标操作事件 166
6.1.3 用鼠标绘图 167
6.1.4 结合类用鼠标绘图 169
6.2 坐标系统 170
6.3 Position类 171
6.4 图元类的实现 172
6.4.1 图元基类CGElement 172
6.4.2 直线段类——CLine类 173
6.4.3 CPolyLine类 175
6.4.4 圆类——CCircle类 178
6.4.5 圆弧类——CArc类 181
6.4.6 文本类——CText类 184
6.5 图元集合类的实现 187
6.5.1 直线段集合类 187
6.5.2 多义线、圆、圆弧和文本的集合类 188
6.6 绘图命令类的实现 189
6.6.1 CCreateLine类 189
6.6.2 CCreatePLine类 192
6.6.3 CCreateCircle类 195
6.6.4 CCreateArc类 200
6.6.5 CCreateText类 206
6.7 交互绘图的实现 207
6.7.1 界面制作 207
6.7.2 添加事件代码 208
6.8 本章小结 210
第7章 图元的拾取和选择 211
7.1 包围矩形的计算 211
7.1.1 直线段的包围矩形 211
7.1.2 多义线的包围矩形 212
7.1.3 圆的包围矩形 213
7.1.4 圆弧的包围矩形 214
7.1.5 文本的包围矩形 216
7.2 图元的拾取 217
7.2.1 直线段的拾取 217
7.2.2 多义线的拾取 219
7.2.3 圆的拾取 220
7.2.4 圆弧的拾取 221
7.2.5 文本的拾取 223
7.3 图元的选择 224
7.3.1 添加选择集 224
7.3.2 逐个选择图元 225
7.3.3 分类选择 230
7.3.4 全选 237
7.3.5 放弃选择 240
7.4 本章小结 242
第8章 缩放和移动 243
8.1 图形的缩放 243
8.1.1 全局缩小和放大 243
8.1.2 局部放大 245
8.1.3 显示全图 249
8.2 图形的移动 253
8.3 本章小结 256
9.1.1 平移变换 257
第9章 图元的编辑 257
9.1 二维图形变换的基本原理 257
9.1.2 旋转变换 258
9.1.3 镜像变换 259
9.1.4 比例变换 260
9.1.5 组合变换 260
9.2 在类中添加变换函数 262
9.2.1 点的变换 262
9.2.2 图元的变换 265
9.3 图形变换交互功能的实现 270
9.3.1 平移变换——CMove类 270
9.3.2 旋转变换 275
9.3.3 镜像变换——CMirror类 280
9.3.4 比例变换 285
9.4.1 添加菜单 287
9.4.2 实现变换 287
9.4 实现几何变换 287
9.5 删除图元 292
9.6 本章小结 294
第10章 绘图工具 295
10.1 网格 295
10.1.1 把图形和文本设为绘图背景 295
10.1.2 Net类 297
10.1.3 显示和删除网格 298
10.1.4 SnapTo功能的实现和取消 299
10.1.5 实现网格 299
10.2 手柄及相关技术 304
10.3 到特定点的SnapTo功能 305
10.4 距离测量 314
10.5 角度测量 317
10.6 本章小结 321
11.1.3 控件摆放与操作习惯一致性原则 322
11.1.2 界面布局和谐匀称原则 322
11.1.4 简明精确原则 322
第3篇 系统集成篇 322
11.1 界面设计的原则 322
第11章 界面制作 322
11.1.1 界面风格与内容协调一致原则 322
11.2 工具条和状态栏 323
11.2.1 工具条 324
11.2.2 状态栏 327
11.2.3 给VB_CAD添加工具条和状态栏 328
11.3 启动窗口 331
11.3.1 把窗体设置为启动窗体 332
11.3.2 制作启动窗口 332
11.3.3 VB提供的启动窗口模板 335
11.4 About窗体 336
11.4.1 VB提供的About窗体模板 336
11.3.4 给VB_CAD程序添加启动窗口 336
11.4.2 给VB_CAD程序添加About对话框 340
11.5 本章小结 341
第12章 图形打印 342
12.1 Printer对象 342
12.1.1 Printer对象的属性 342
12.1.2 Printer对象的方法 343
12.2 “打印”对话框 344
12.3 CPrint类 345
12.3.1 CPrint类的属性 345
12.3.2 CPrint类的方法 350
12.4 实现打印预览和打印 354
12.5 本章小结 357
第13章 程序打包 358
参考文献 364