用Visual C++.NET开发交互式CAD系统

用Visual C++.NET开发交互式CAD系统
作 者: 黄国明
出版社: 电子工业出版社
丛编项: 交互式CAD系统开发基础系列丛书
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: VC++.NET
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

暂缺《用Visual C++.NET开发交互式CAD系统》作者简介

内容简介

本书注重整体设计,特别是图元、交互工具这几类的划分非常清楚,每个类的抽象也非常严谨,读者可以非常容易地从图元、交互操作工具这两个方面扩展该图形系统,使之满足自己的需要。本书适合于限元、CAD、GIS等领域从事软件开发的技术人员以及大专院校的师生阅读、参考。本书从人机交互的角度,由浅入深、循序渐进地讲述了如何在VisualC++.NET环境下开发矢量图形系统。从向导生成的初始代码,分析了MFC框架系结构,讨论了MFC程序的运行机制。结合具体程序开发,重点讨论了图元类、交互操作类的抽象、设计及管理方法,实现了矢量图形系统无级缩放、交互编辑、文档编辑、文档打印等基本功能。本书注重整体设计,特别是图元、交互工具这几类的划分非常清楚,每个类的抽象也非常严谨,读者可以非常容易地从图元、交互操作工具这两个方面扩展该图形系统,使之满足自己的需要。本书适合于限元、CAD、GIS等领域从事软件开发的技术人员以及大专院校的师生阅读、参考。书中的代码在VisualC++.NET环境下编译,随书发行的光盘包含了每一个开发步骤的完整代码。

图书目录

第1章 Visual C . NET新增功能

1. 1 . NET框架与托管代码

1. 1. 1 . NET框架

1. 1. 2 公共语言运行时

1. 1. 3 托管代码与非托管代码

1. 1. 4 . NET框架类库

1. 2 Visual C . NET新名词

1. 2. 1 解决方案

1. 2. 2 起始页

1. 3 开发环境变化

第2章 Visual C . NET开发环境

2. 1 新版概述

2. 2 开发环境的菜单功能

2. 2. 1 文件菜单

2. 2. 2 编辑菜单

2. 2. 3 视图菜单

2. 2. 4 项目菜单

2. 2. 5 生成菜单

2. 2. 6 调试菜单

2. 2. 7 工具菜单

2. 2. 8 窗口菜单

2. 2. 9 帮助菜单

2. 3 方案导航区

2. 3. 1 方案浏览区

2. 3. 2 类视图

2. 3. 3 资源视图

2. 4 界面设置

2. 5 创建应用程序

2. 5. 1 使用向导创建应用程序

2. 5. 2 添加代码

2. 5. 3 添加类

2. 5. 4 添加变量

2. 5. 5 添加函数

2. 5. 6 添加消息映射函数

第3章 程序调试

3. 1 VisualC . NET调试器

3. 1. 1 VisualC . NET调试器概览

3. 1. 2 调试环境的建立

3. 1. 3 如何设置断点

3. 1. 4 控制程序的运行

3. 1. 5 查看工具的使用

3. 2 高级调试技术

3. 2. 1 MFC调试机制

3. 2. 2 TRACE宏的利用

3. 2. 3 ASSERT宏的利用

3. 2. 4 ASSERT_VALID宏的利用

3. 2. 5 内存漏洞的检查

第4章 面向对象的程序设计

4. 1 面向对象的程序设计

4. 1. 1 面向对象的概念

4. 1. 2 数据封装

4. 1. 3 继承

4. 1. 4 多态性

4. 2 类和对象

4. 2. 1 类

4. 2. 2 构造函数和析构函数

4. 2. 3 重载构造函数

4. 2. 4 类的指针

4. 3 类的继承性

4. 3. 1 继承性

4. 3. 2 继承和构造函数. 析构函数

4. 3. 3 多重继承

4. 4 类的多态性

4. 4. 1 指向基类的指针

4. 4. 2 虚函数

4. 4. 3 纯虚函数及抽象类

第5章 MFC图形编程基础

5. 1 图形设备接口

5. 2 设备描述表

5. 2. 1 设备描述表类型

5. 2. 2 MFC设备描述表类

5. 2. 3 基类:CDC

5. 2. 4 用类CPaintDC绘图

5. 2. 5 用类CClientDC管理用户区

5. 3 图形对象

5. 3. 1 笔:类CPen

5. 3. 2 刷子:类CBrnsh

5. 3. 3 字体:类CFont

5. 3. 4 区域:类CRgn

5. 4 坐标空间

5. 4. 1 物理设备坐标空间

5. 4. 2 设备坐标空间

5. 4. 3 逻辑坐标空间

5. 5 映射模式

5. 5. 1 坐标映射

5. 5. 2 MM_TEXT映射模式

5. 5. 3 MM_LOENGLISH和MM_HIENGLISH映射模式

5. 5. 4 MM_LOMETRIC和MM_HIMETRIC映射模式

5. 5. 5 MM_TWIPS映射模式

5. 5. 6 MM_ISOTROPIC和MM_ANISOTROPIC映射模式

5. 5. 7 映射模式示例

5. 6 窗口与视口函数

5. 6. 1 窗口与视口原点

5. 6. 2 设定窗口与视口范围

5. 7 矢量图形和正文

5. 7. 1 矢量图形绘图方式

5. 7. 2 绘制点

5. 7. 3 绘制线和多边线

5. 7. 4 绘制矩形

5. 7. 5 绘制区域

5. 7. 6 绘制正文

第6章 MFC生成的骨干程序

6. 1 VksDraw最终版本介绍

6. 1. 1 VisDraw界面

6. 1. 2 VisDraw功能

6. 1. 3 VisDraw开发步骤

6. 2 使用AppWizard生成VisDraw框架

6. 2. 1 创建VisDraw项目

6. 2. 2 指定应用程序类型

6. 2. 3 指定复合文档选项

6. 2. 4 指定文档模板字符串

6. 2. 5 指定数据库选项

6. 2. 6 指定应用程序外观

6. 2. 7 指定应用程序的附加支持

6. 2. 8 查看并为应用程序指定基类

6. 3 AppWizard生成的文件

6. 3. 1 自述文件

6. 3. 2 项目文件

6. 3. 3 应用程序源文件和头文件

6. 3. 4 资源文件

6. 3. 5 预编译的头文件

6. 3. 6 帮助文件

6. 4 运行VisDraw

6. 4. 1 编译VisDraw程序

6. 4. 2 运行VisDraw应用程序

6. 4. 3 VisDraw的功能

第7章 MFC应用程序框架

7. 1 MFC应用程序框架概述

7. 1. 1 封装

7. 1. 2 继承

7. 1. 3 虚拟函数和动态约束

7. 1. 4 MFC的宏观框架体系

7. 2 VisDraw的类和文件

7. 2. 1 浏览VisDraw类和文件

7. 2. 2 VisDraw类的层次结构

7. 2. 3 VisDraw宏和全局函数

7. 2. 4 CObject类特性

7. 3 VisDraw的重要组成部分及其之间的相互关系

7. 3. 1 应用程序对象

7. 3. 2 主框架窗口对象

7. 3. 3 文档对象

7. 3. 4 视图对象

7. 3. 5 文档/视图结构

7. 4 VisDraw的运行机制

7. 4. 1 调用CWinApp类构造函数

7. 4. 2 WinMain接收控制

7. 4. 3 进入消息循环

7. 5 文档模板的意义

7. 6 VisDraw的消息映射

7. 6. 1 MFC处理的三类消息

7. 6. 2 MFC消息映射的实现方法

7. 6. 3 常用的消息映射宏

7. 6. 4 VisDraw的消息映射

第8章 菜单

8. 1 菜单资源

8. 2 菜单属性

8. 3 菜单助记符

8. 4 菜单快捷键表

8. 4. 1 为菜单命令添加快捷键

8. 4. 2 创建快捷键表项

8. 4. 3 设置快捷键属性

8. 4. 4 添加快捷键消息处理

8. 5 为VisDraw添加菜单

8. 5. 1 添加顶层菜单

8. 5. 2 添加子菜单

8. 6 添加命令处理函数

8. 7 消息映射与命令路径

8. 7. 1 Windows消息分类

8. 7. 2 消息映射

8. 8 实现消息处理函数

8. 8. 1 添加视图类成员变量和函数

8. 8. 2 测试VisDraw应用程序

第9章 所见即所得绘图

9. 1 采用鼠标绘图

9. 1. 1 鼠标消息

9. 1. 2 非客户区鼠标消息

9. 1. 3 绘图过程中的鼠标消息

9. 1. 4 捕获鼠标和设置鼠标状态

9. 1. 5 实现鼠标绘图的橡皮筋效果

9. 1. 6 添加鼠标消息处理函数

9. 2 实现鼠标绘图

9. 2. 1 定义视图类数据成员

9. 2. 2 实现鼠标消息函数

9. 3 运行VisDraw应用程序

9. 3. 1 修改代码

9. 3. 2 VisDraw目前存在的问题

9. 4 VisDraw的初步改进

9. 4. 1 修改成员变量

9. 4. 2 修改鼠标消息处理函数

9. 4. 3 实现OnDraw函数

9. 4. 4 运行VisDraw应用程序

第10章 视图基类设计

10. 1 屏幕滚动

10. 1. 1 VisDraw目前的缺陷

10. 1. 2 滚动的基本理论

10. 1. 3 实现滚动必须完成的任务

10. 2 添加视图基类

10. 2. 1 由向导生成的视图基类

10. 2. 2 添加成员变量

10. 3 设备坐标与逻辑坐标的转化

10. 3. 1 坐标映射过程

10. 3. 2 映射模式

10. 3. 3 为什么需要坐标转换

10. 3. 4 实现坐标转换函数

10. 3. 5 客户区中心逻辑坐标

10. 4 滚动视图函数重载

10. 4. 1 设置滚动尺寸

10. 4. 2 设定视图区中心

10. 4. 3 得到滚动位置

10. 4. 4 自动调整视图大小

10. 5 实现视图滚动

10. 5. 1 滚动条消息处理

10. 5. 2 使用键盘滚动视图

第11章 实现视图

11. 1 实现滚动功能

11. 1. 1 修改视图基类

11. 1. 2 设置滚动区域大小

11. 1. 3 设备坐标转化为逻辑坐标

11. 2 建立实际坐标系

11. 2. 1 建立坐标系

11. 2. 2 实际坐标与逻辑坐标的转换

11. 2. 3 绘制网格线

第12章 VisDraw文档数据对象设计

12. 1 抽象图形元的设计

12. 1. 1 图形元的数据结构

12. 1. 2 添加图形元基类

12. 1. 3 图形元基类的数据成员

12. 1. 4 图形元基类的成员函数

12. 2 矩形图元类

12. 2. 1 向导生成的矩形图元类

12. 2. 2 添加成员变量

12. 2. 3 边界矩形盒的计算

12. 2. 4 实现图形绘制

12. 3 点图元类

12. 3. 1 向导生成的点图元类

12. 3. 2 实现成员函数

12. 4 圆图元类

12. 4. 1 向导生成的圆图元类

12. 4. 2 添加成员变量和函数

12. 4. 3 计算边界矩形

12. 5 圆弧图元类

12. 5. 1 向导生成的圆弧图元类

12. 5. 2 已知圆心计算圆弧其他参数

12. 5. 3 由圆弧上三点计算圆弧参数

12. 5. 4 绘制圆弧

12. 5. 5 圆弧边界矩形的计算

12. 6 多边形图元类

12. 6. 1 向导生成的多边形图元类

12. 6. 2 添加成员变量

12. 6. 3 绘制多边形图元

12. 6. 4 计算多边形图元边界矩形

12. 6. 5 添加多边形顶点

第13章 文档设计

13. 1 文档/视图结构

13. 2 视图与文档之间通信

13. 3 数据结构设计

13. 3. 1 为文档选择合适的数据结构

13. 3. 2 VisDrawDoc的成员变量

13. 3. 3 VisDrawDoc的成员函数

13. 3. 4 VisDrawDoc的文档界面

13. 4 使用文档对象

13. 4. 1 删除代码

13. 4. 2 添加和修改代码

13. 5 运行VisDraw

13. 6 保存文档数据

13. 6. 1 序列化和反序列化

13. 6. 2 序列化机制

13. 6. 3 图形元序列化

13. 6. 4 在文档中序列化所有图形

13. 6. 5 VisDraw程序版本控制

第14章 交互操作设计

14. 1 图形交互问题

14. 1. 1 与鼠标相关的函数

14. 1. 2 捕捉鼠标输入

14. 1. 3 在屏幕上拖动图形

14. 1. 4 保存图形对象到文档

14. 1. 5 将图形以实际数据重画

14. 1. 6 图形对象的拾取

14. 2 VisDraw交互操作的缺陷

14. 3 交互工具框架设计

14. 4 交互操作基类实现

14. 4. 1 向导生成的交互操作基类

14. 4. 2 添加成员变量

14. 4. 3 检索交互工具对象指针

14. 5 矩形工具类

14. 5. 1 向导生成的矩形工具类

14. 5. 2 添加图形工具对象指针到链表

14. 5. 3 实现鼠标函数

14. 5. 4 修改视图类代码

14. 5. 5 运行VisDraw

14. 6 圆工具设计

14. 6. 1 向导生成的圆工具类

14. 6. 2 实现鼠标函数

14. 6. 3 运行VisDraw

14. 7 圆弧工具

14. 7. 1 向导生成的圆弧工具类

14. 7. 2 添加画弧工具

14. 7. 3 鼠标处理函数的框架结构

14. 7. 4 按下鼠标左键操作函数

14. 7. 5 画弧时的屏幕反馈信息

14. 7. 6 测试圆弧工具

14. 8 多边形工具类

14. 8. 1 向导生成的多边形工具类

14. 8. 2 初始化多边形工具

14. 8. 3 实现鼠标函数

14. 8. 4 测试多边形工具

第15章 图形拾取

15. 1 图形拾取功能和机制

15. 1. 1 图形拾取功能描述

15. 1. 2 图形拾取机制

15. 2 图形拾取算法

15. 2. 1 边界矩形击中测试

15. 2. 2 图形元素拾取条件

15. 2. 3 点的拾取

15. 2. 4 矩形和直线的拾取

15. 2. 5 圆的拾取

15. 2. 6 圆弧的拾取

15. 2. 7 多边形的拾取

15. 3 实现图元拾取

15. 3. 1 单击图形拾取判断

15. 3. 2 添加选择集

15. 4 拾取图元显示策略

15. 4. 1 图形对象的关键点

15. 4. 2 矩形类的关键点

15. 4. 3 圆类的关键点

15. 4. 4 圆弧类的关键点

15. 4. 5 多边形类的关键点

15. 4. 6 点图元的关键点

15. 4. 7 图元关键点的绘制

15. 5 交互图形拾取

15. 5. 1 向导添加的选择工具

15. 5. 2 拾取操作

15. 5. 3 点选操作

15. 5. 4 窗口拾取

第16章 图形编辑

16. 1 修改图形

16. 1. 1 关键点击中测试

16. 1. 2 修改关键点坐标

16. 1. 3 矩形关键点坐标的修改

16. 1. 4 圆图形关键点的修改

16. 1. 5 圆弧关键点坐标的修改

16. 1. 6 多边形关键点坐标的修改

16. 1. 7 修改图形操作

16. 2 移动图形

16. 2. 1 矩形图元的平移

16. 2. 2 圆的平移

16. 2. 3 多边形平移

16. 2. 4 点的平移

16. 3 标准编辑

16. 3. 1 Windows剪贴板

16. 3. 2 复制数据

16. 3. 3 粘贴数据

16. 3. 4 删除

16. 3. 5 剪切

16. 3. 6 全选

第17章 界面设计

17. 1 添加工具栏

17. 1. 1 工具栏的可视化设计

17. 1. 2 创建工具栏

17. 1. 3 工具栏的隐藏/显示

17. 1. 4 命令更新

17. 2 状态栏

17. 3 对话框与控件

17. 3. 1 对话框的基本概念

17. 3. 2 控件的基本概念

17. 3. 3 对话框模板的设计

17. 3. 4 对话框类设计

17. 3. 5 对话框的调用

17. 4 弹出式菜单

第18章 文档打印

18. 1 打印设计

18. 1. 1 MFC打印体系结构

18. 1. 2 采用MFC进行打印程序设计

18. 2 改变映射模式

18. 3 对文档编写页码

18. 3. 1 计算可打印区域

18. 3. 2 MFC在何处中断页面的打印

18. 4 纵向打印和横向打印

18. 5 添加页眉和页脚

18. 5. 1 添加PrintHeader和Print Footer函数

18. 5. 2 添加页眉

18. 5. 3 添加页脚

参考文献