书籍详情
精通VISUAL C++ 6.0
作者:黄庆生,汤毅,戴宁编
出版社:人民邮电出版社
出版时间:1999-06-01
ISBN:9787115079084
定价:¥42.00
内容简介
Microsoft VisualC++作为Microsoft Visual Studio的重要组成部分,包含了迄今为止功能最为强大的基于Windows的应用框架,在同类产品中处于领先地位。利用它所集成的一系列强大功能,用户就能够开发出实用高效的应用程序。为了让广大的软件开发人员和编程爱好者能够早日了解并掌握Microsoft Visual C++ 6.0这一最新开发工具,我们根据自己多的的实际编程经验和对VC 6.0的使用心得,编写了本书。对于Windows操作系统的消息循环的概念和Windows程序框架;VC++的编程环境;VC++所特有的编程工具以及可视化编程的优点等全书共分12章进行了讲述。本书面向的对象主要是初级和中级的读者,是学习Visual c++ 6.0的一本较好的参考书。
作者简介
暂缺《精通VISUAL C++ 6.0》作者简介
目录
序篇 Visual C++ 6.0简介
1 Visual C++ 6.0新特性
1.1 对编译器的改进
1.2 对AppWiard的改进
1.3 更完善的MFC
1.4 数据库应用程序的增强支持
1.5 相对于Visual C++ 5.0的新特性
2 Visual C++ 6.0开发环境简介
2.1 Microsoft Developer Studio
2.2 Visual C++ 6.0编程工具
2.3 OLE服务器
2.4 MFC类库
2.5 Visual C++ 6.0的帮助系统
2.6 Visual C++ 6.0附带工具简介
3 如何学习使用Visual C++ 6.0
第一章 建立一个AppWizard程序
1.1 什么是AppWizard
1.2 迎接你的第一个AppWizard程序
1.2.1 第一步
1.2.2 第二步
1.2.3 第三步
1.2.4 第四步
1.2.5 第五步
1.2.6 第六步
1.3 “I am a programmer.”在哪儿?
第二章 学习简化的程序框架
2.1 一个简化过的程序框架
2.2 WinMain( ):第一个动作
2.3 登记窗口类
2.4 创建一个窗口
2.5 显示窗口
2.6 显示消息
2.6.1 改写源程序
2.6.2 编译、链接并运行该程序
2.6.3 与DOS或UNIX等价程序的比较
2.7 窗口类与窗口对象
2.7.1 窗口对象
2.7.2 CWnd派生的窗口类
2.7.3 注册窗口类
2.7.4 窗口的创建过程
2.7.5 销毁窗口
第三章 消息循环
3.1 处理消息循环
3.1.1 程序设计中的基础事件
3.1.2 “I am a programmer.”的消息循环
3.2 对事件做出响应;WindowFun ()
3.3 响应不同的消息
3.3.1 用WM-PAINT消息跟踪屏幕
3.3.2 WM-DESTROY消息
3.4 设备界面进行交互
3.4.1 HDC
3.4.2 其它可返回设备上下文的函数
第四章 了解真正的程序框架
4.1 WinMain( )函数
4.2 应用程序框架和源文件
4.2.1 文档类
4.2.2 视图类
4.2.3 主边框窗口类
4.2.4 子边框窗口类
4.2.5 应用程序类
4.3 工具条、状态条和打印等选项
4.3.1 工具条和状态条
4.3.2 打印选项
4.3.3 加入MDI支持
4.4 程序的控制流程
4.4.1 成员函数InitInstance
4.4.1 成员函数Run
4.4.3 成员函数ExitInstance
4.4.4 成员函数OnIdle
4.4.5 CWinApp的专门服务
第五章 熟悉Visual C++ 6.0的编程环境
5.1 Visual C++ 6.0主窗口
5.2 Visual C++ 6.0工具栏
5.3 Visual C++ 6.0菜单栏
5.3.1 FILE菜单
5.3.2 EDIT菜单
5.3.3 VIEW菜单
5.3.4 INSERT菜单
5.3.5 PROJECT菜单
5.3.6 BUILD菜单
5.3.7 DEBUG菜单
5.3.8 TOOLS菜单
5.3.9 WINDOWS菜单
5.3.10 HELP菜单
5.4 项目与项目工作区
5.5 资源与资源编辑器
5.5.1 资源编辑器
5.5.2 资源符号
5.5.3 资源符号浏览器
5.5.4 对话编辑器
5.5.5 菜单编辑器
5.5.6 加速键编辑器
5.5.7 串编辑器
5.5.8 版本信息编辑器
5.5.9 图形编辑器
5.5.10 工具栏编辑器
第六章 Class Wizard编程
6.1 使用ClassWizard添加消息处理函数
6.1.1 消息映射(Message Maps)选项卡
6.1.2 成员变量(Member Varibles)选项卡
6.1.3 自动化(Automation)选项卡
6.1.4 ActiveX事件(ActiveX Events)选项卡
6.1.5 类信息(Class Info)选项
6.2 Class Wizard功能介绍
6.3 传送鼠标消息
6.3.1 Windows系统最重要的事件:鼠标的移动
6.3.2 用鼠标绘图
6.3.3 鼠标绘图:改进型
6.4 保存鼠标绘图的信息
6.4.1 保存屏幕MyProg2d
6.4.2 修改绘图程序:MyProg2d
6.4.3 测试和评价
6.4.4 临近尾声
第七章 视图与文档
7.1 Document-View模式
7.1.1 为何要分成两类?
7.1.2 Document-View模式的MFC版本
7.2 从视图中分离出文档
7.2.1 文档
7.2.2 视图
7.2.3 运行程序
7.3 保存文档
7.3.1 将Serialize( )补充完整
7.3.2 检验结果
7.3.3 注册一个文件类型
7.3.4 关于“No update”
7.4 再MyProg2cpp
7.4.1 什么是.INI文件
7.4.2 下一步怎么办
第八章 图形设备接口
8.1 设备环境类
8.1.1 显示设备环境类CClientDC CWindowDC
8.1.2 构造和析构CDC对象
8.1.3 设备环境的状态
8.1.4 CPaint DC类
8.2 GDI对象
8.2.1 GDI对象的构造与析构
8.2.2 跟踪GDI对象
8.2.3 库存的GDI对象
8.2.4 GDI选择的有效期
8.2.5 持久的用于显示的设备环境——登记窗口类
8.3 Windows的颜色映射
8.3.1 标准视频图形矩阵(VGA)显示卡
8.3.2 256色显示卡
8.3.3 24位颜色显示卡
8.4 映射方式
8.4.1 MM-TEXT映射方式
8.4.2 “固定比例”的映射方式
8.4.3 坐标变换
8.5 字体
8.5.1 字体理GDI对象
8.5.2 选择字体
8.5.3 打印字体
8.5.4 显示字体
8.5.5 窗口中的点——逻辑Twips
8.5.6 计算字符高度
8.6 MYPROG3例程序
8.7 MyProg3B程序
8.8 MYPROG3C例程序:使用CScrollView
8.8.1 MYPROG3C程序的一些元素
8.8.2 CScrollView的SetScaleToFitSize状态
第九章 对象连接与嵌入(OLE)及其自动化
9.1 公共对象模式(COM)
9.1.1 COM解决的问题
9.1.2 COM的实质
9.1.3 什么是COM接口
9.1.4 IUnknown接口和QueryInterface成员函数
9.1.5 引用计数:AddRef和Rrelease函数
9.2 类厂(class factory)
9.2.1 COM和MFC——CCmdTarget类
9.2.2 OLE和窗口登记数据库
9.2.3 运行时刻对象登记
9.2.4 COM客户程序是如何调用DLL待者程序的
9.2.5 COM客户程序是如何调用EXE侍者程序的
9.2.6 MFC和OLE
9.2.7 包容和继承
9.3 OLE自动化
9.3.1 C++与Visual Basic for Appplication(VBA)之间的连接
9.3.2 自动化控制程序和自动化侍者程序
9.3.3 属性、方法和集合
9.3.4 OLE自动化所解决的问题
9.4 IDispatch接口
9.4.1 OLE自动化程序设计
9.4.2 MFC IDispatch的实现
9.4.3 一个MFC OLE自动化侍者
9.4.4 一个MFC OLE自动化控制程序
9.4.5 VARIANT类型
9.4.6 CVariant类
9.4.7 InvoDce的参数和返回值的类型转换
第十章 动态链接库(DLLs)
10.1 为什么使用DLL
10.2 传统的DLL
10.3 MFC库DLL
10.3.1 MFC库DLL的使用仅限于Microsoft C++编译器
10.3.2 作为DLL的MFC库类
10.3.3 在应用中使用MFC250D.DLL
10.3.4 MFC库扩展DLL
10.3.5 MFC库DLL内存使用
10.3.6 扩展DLL需要的一些代码
10.3.7 搜索资源
10.3.8 内联构造函数
10.3.9 扩展DLL的引出
10.3.10 类静态数据成员
10.3.11 扩展DLL运行时刻类的确定
10.3.12 创建DLL
10.3.13 创建引入库
10.3.14 DLL的调试版和发行版
10.4 MyProg4A:编写自己的类库扩展DLL
10.4.1 MyProg4AD.DEF文件
10.4.2 MyProg4AD工程的Visual 工作平台选项
10.4.3 创建引入库并拷贝DLL
10.5 MyProg4B:使用MFC库扩展DLL
10.5.1 CMyProg4bApp
10.5.2 CMyProg4bDoc
10.5.3 CMyProg4bView
10.6.4 CStudentDialog
10.6 创建并测试MyProg4B 程序
10.7 资源访问
第十一章 对话框
11.1 在状态条上显示对话框控件的帮助信息
11.1.1 问题的提出
11.1.2 实现技术
11.1.3 实现步骤
11.1.4 实现内幕
11.2 利用FileOpen通用对话框打开多个文件
11.2.1 问题的提出
11.2.2 实现技术
11.2.3 实现步骤
11.2.4 实现内幕
11.3 定制通用文件对话框
11.3.1 问题的提出
11.3.2 实现技术
11.3.3 实现步骤
11.3.4 实现内幕
11.4 扩展和缩减一个对话框
11.4.1 总是的提出
11.4.2 实现技术
11.4.3 实现步骤
11.4.4 实现内幕
11.5 显示一个模式或无模式对话框
11.5.1 问题的提出
11.5.2 实现技术
11.5.3 实现步骤
11.5.4 实现内幕
11.6 编写定制的DDX/DDV例程
11.6.1 问题的提出
11.6.2 实现技术
11.6.3 实现步骤
11.6.4 实现内幕
第十二章 剖析工具Spy++
12.1 窗体
12.1.1 查看窗体
12.1.2 查看窗体详细信息
12.1.3 定位窗体
12.2 消息
12.2.1 “Windows”选项卡
12.2.2 “Messages”选项卡
12.2.3 “Output”选项卡
12.3 进程与线程
附录 A Visual C++ 6.0的安装说明
附录 B 走进C++的世界
B.1 类和对象的简介
B.1.1 C中用户自定义类型
B.1.2 转向C++
B.1.3 构造函数
B.1.4 析构函数
B.1.5 其它的成员函数
B.1.6 private和public型类成员
B.1.7 帮助函数
B.1.8 对C++封装的简要说明
B.2 继承和多态性:一个具体的例子
B.2.1 轨道物体的基类和虚函数
B.2.2 纯虚函数
B.2.3 派生类
B.2.4 在基类中所调用的虚函数
B.3 内嵌对象
B.3.1 拷贝构造函数
B.3.2 赋值运算符
B.3.3 C++引用:提高效率
B.3.4 内嵌对象创建的总结
B.3.5 内嵌对象的析构
B.4 在堆中申请对象
B.4.1 C++的new和delete运算符
B.4.2 通过指针来引用对象
B.4.3 虚析构函数
B.5 全程对象的申请
B.6 对象之间的相互关系:指针数据成员
B.7 this指针的使用
B.8 对指针的引用
B.9 友元类和友元函数
B.9.1 友元类
B.9.2 全程友元函数
B.10 静态类成员
B.10.1 静态数据成员
B.10.2 枚举类型——实现静态数据面员的捷径
B.10.3 静态成员函数
B.11 重载运算符
B.11.1 成员函数运算符
B.11.2 转换运算符
B.11.3 辅助运算符(helper operator)
B.12 从代码中分离出类定义
附录 C 匈牙利表示法
附录 D 代码调试
D.1 TRACE
D.1.1 几种模式
D.1.2 使用TRACE
D.2 调试框架
D.2.1 AssertValid( )
D.2.2 防御型的编程方式
D.2.3 关于Dump ( )
D.3 自我诊断
D.4 调试代码的作用
D.5 用Dump( )显示对象的信息
D.6 检查内存
1 Visual C++ 6.0新特性
1.1 对编译器的改进
1.2 对AppWiard的改进
1.3 更完善的MFC
1.4 数据库应用程序的增强支持
1.5 相对于Visual C++ 5.0的新特性
2 Visual C++ 6.0开发环境简介
2.1 Microsoft Developer Studio
2.2 Visual C++ 6.0编程工具
2.3 OLE服务器
2.4 MFC类库
2.5 Visual C++ 6.0的帮助系统
2.6 Visual C++ 6.0附带工具简介
3 如何学习使用Visual C++ 6.0
第一章 建立一个AppWizard程序
1.1 什么是AppWizard
1.2 迎接你的第一个AppWizard程序
1.2.1 第一步
1.2.2 第二步
1.2.3 第三步
1.2.4 第四步
1.2.5 第五步
1.2.6 第六步
1.3 “I am a programmer.”在哪儿?
第二章 学习简化的程序框架
2.1 一个简化过的程序框架
2.2 WinMain( ):第一个动作
2.3 登记窗口类
2.4 创建一个窗口
2.5 显示窗口
2.6 显示消息
2.6.1 改写源程序
2.6.2 编译、链接并运行该程序
2.6.3 与DOS或UNIX等价程序的比较
2.7 窗口类与窗口对象
2.7.1 窗口对象
2.7.2 CWnd派生的窗口类
2.7.3 注册窗口类
2.7.4 窗口的创建过程
2.7.5 销毁窗口
第三章 消息循环
3.1 处理消息循环
3.1.1 程序设计中的基础事件
3.1.2 “I am a programmer.”的消息循环
3.2 对事件做出响应;WindowFun ()
3.3 响应不同的消息
3.3.1 用WM-PAINT消息跟踪屏幕
3.3.2 WM-DESTROY消息
3.4 设备界面进行交互
3.4.1 HDC
3.4.2 其它可返回设备上下文的函数
第四章 了解真正的程序框架
4.1 WinMain( )函数
4.2 应用程序框架和源文件
4.2.1 文档类
4.2.2 视图类
4.2.3 主边框窗口类
4.2.4 子边框窗口类
4.2.5 应用程序类
4.3 工具条、状态条和打印等选项
4.3.1 工具条和状态条
4.3.2 打印选项
4.3.3 加入MDI支持
4.4 程序的控制流程
4.4.1 成员函数InitInstance
4.4.1 成员函数Run
4.4.3 成员函数ExitInstance
4.4.4 成员函数OnIdle
4.4.5 CWinApp的专门服务
第五章 熟悉Visual C++ 6.0的编程环境
5.1 Visual C++ 6.0主窗口
5.2 Visual C++ 6.0工具栏
5.3 Visual C++ 6.0菜单栏
5.3.1 FILE菜单
5.3.2 EDIT菜单
5.3.3 VIEW菜单
5.3.4 INSERT菜单
5.3.5 PROJECT菜单
5.3.6 BUILD菜单
5.3.7 DEBUG菜单
5.3.8 TOOLS菜单
5.3.9 WINDOWS菜单
5.3.10 HELP菜单
5.4 项目与项目工作区
5.5 资源与资源编辑器
5.5.1 资源编辑器
5.5.2 资源符号
5.5.3 资源符号浏览器
5.5.4 对话编辑器
5.5.5 菜单编辑器
5.5.6 加速键编辑器
5.5.7 串编辑器
5.5.8 版本信息编辑器
5.5.9 图形编辑器
5.5.10 工具栏编辑器
第六章 Class Wizard编程
6.1 使用ClassWizard添加消息处理函数
6.1.1 消息映射(Message Maps)选项卡
6.1.2 成员变量(Member Varibles)选项卡
6.1.3 自动化(Automation)选项卡
6.1.4 ActiveX事件(ActiveX Events)选项卡
6.1.5 类信息(Class Info)选项
6.2 Class Wizard功能介绍
6.3 传送鼠标消息
6.3.1 Windows系统最重要的事件:鼠标的移动
6.3.2 用鼠标绘图
6.3.3 鼠标绘图:改进型
6.4 保存鼠标绘图的信息
6.4.1 保存屏幕MyProg2d
6.4.2 修改绘图程序:MyProg2d
6.4.3 测试和评价
6.4.4 临近尾声
第七章 视图与文档
7.1 Document-View模式
7.1.1 为何要分成两类?
7.1.2 Document-View模式的MFC版本
7.2 从视图中分离出文档
7.2.1 文档
7.2.2 视图
7.2.3 运行程序
7.3 保存文档
7.3.1 将Serialize( )补充完整
7.3.2 检验结果
7.3.3 注册一个文件类型
7.3.4 关于“No update”
7.4 再MyProg2cpp
7.4.1 什么是.INI文件
7.4.2 下一步怎么办
第八章 图形设备接口
8.1 设备环境类
8.1.1 显示设备环境类CClientDC CWindowDC
8.1.2 构造和析构CDC对象
8.1.3 设备环境的状态
8.1.4 CPaint DC类
8.2 GDI对象
8.2.1 GDI对象的构造与析构
8.2.2 跟踪GDI对象
8.2.3 库存的GDI对象
8.2.4 GDI选择的有效期
8.2.5 持久的用于显示的设备环境——登记窗口类
8.3 Windows的颜色映射
8.3.1 标准视频图形矩阵(VGA)显示卡
8.3.2 256色显示卡
8.3.3 24位颜色显示卡
8.4 映射方式
8.4.1 MM-TEXT映射方式
8.4.2 “固定比例”的映射方式
8.4.3 坐标变换
8.5 字体
8.5.1 字体理GDI对象
8.5.2 选择字体
8.5.3 打印字体
8.5.4 显示字体
8.5.5 窗口中的点——逻辑Twips
8.5.6 计算字符高度
8.6 MYPROG3例程序
8.7 MyProg3B程序
8.8 MYPROG3C例程序:使用CScrollView
8.8.1 MYPROG3C程序的一些元素
8.8.2 CScrollView的SetScaleToFitSize状态
第九章 对象连接与嵌入(OLE)及其自动化
9.1 公共对象模式(COM)
9.1.1 COM解决的问题
9.1.2 COM的实质
9.1.3 什么是COM接口
9.1.4 IUnknown接口和QueryInterface成员函数
9.1.5 引用计数:AddRef和Rrelease函数
9.2 类厂(class factory)
9.2.1 COM和MFC——CCmdTarget类
9.2.2 OLE和窗口登记数据库
9.2.3 运行时刻对象登记
9.2.4 COM客户程序是如何调用DLL待者程序的
9.2.5 COM客户程序是如何调用EXE侍者程序的
9.2.6 MFC和OLE
9.2.7 包容和继承
9.3 OLE自动化
9.3.1 C++与Visual Basic for Appplication(VBA)之间的连接
9.3.2 自动化控制程序和自动化侍者程序
9.3.3 属性、方法和集合
9.3.4 OLE自动化所解决的问题
9.4 IDispatch接口
9.4.1 OLE自动化程序设计
9.4.2 MFC IDispatch的实现
9.4.3 一个MFC OLE自动化侍者
9.4.4 一个MFC OLE自动化控制程序
9.4.5 VARIANT类型
9.4.6 CVariant类
9.4.7 InvoDce的参数和返回值的类型转换
第十章 动态链接库(DLLs)
10.1 为什么使用DLL
10.2 传统的DLL
10.3 MFC库DLL
10.3.1 MFC库DLL的使用仅限于Microsoft C++编译器
10.3.2 作为DLL的MFC库类
10.3.3 在应用中使用MFC250D.DLL
10.3.4 MFC库扩展DLL
10.3.5 MFC库DLL内存使用
10.3.6 扩展DLL需要的一些代码
10.3.7 搜索资源
10.3.8 内联构造函数
10.3.9 扩展DLL的引出
10.3.10 类静态数据成员
10.3.11 扩展DLL运行时刻类的确定
10.3.12 创建DLL
10.3.13 创建引入库
10.3.14 DLL的调试版和发行版
10.4 MyProg4A:编写自己的类库扩展DLL
10.4.1 MyProg4AD.DEF文件
10.4.2 MyProg4AD工程的Visual 工作平台选项
10.4.3 创建引入库并拷贝DLL
10.5 MyProg4B:使用MFC库扩展DLL
10.5.1 CMyProg4bApp
10.5.2 CMyProg4bDoc
10.5.3 CMyProg4bView
10.6.4 CStudentDialog
10.6 创建并测试MyProg4B 程序
10.7 资源访问
第十一章 对话框
11.1 在状态条上显示对话框控件的帮助信息
11.1.1 问题的提出
11.1.2 实现技术
11.1.3 实现步骤
11.1.4 实现内幕
11.2 利用FileOpen通用对话框打开多个文件
11.2.1 问题的提出
11.2.2 实现技术
11.2.3 实现步骤
11.2.4 实现内幕
11.3 定制通用文件对话框
11.3.1 问题的提出
11.3.2 实现技术
11.3.3 实现步骤
11.3.4 实现内幕
11.4 扩展和缩减一个对话框
11.4.1 总是的提出
11.4.2 实现技术
11.4.3 实现步骤
11.4.4 实现内幕
11.5 显示一个模式或无模式对话框
11.5.1 问题的提出
11.5.2 实现技术
11.5.3 实现步骤
11.5.4 实现内幕
11.6 编写定制的DDX/DDV例程
11.6.1 问题的提出
11.6.2 实现技术
11.6.3 实现步骤
11.6.4 实现内幕
第十二章 剖析工具Spy++
12.1 窗体
12.1.1 查看窗体
12.1.2 查看窗体详细信息
12.1.3 定位窗体
12.2 消息
12.2.1 “Windows”选项卡
12.2.2 “Messages”选项卡
12.2.3 “Output”选项卡
12.3 进程与线程
附录 A Visual C++ 6.0的安装说明
附录 B 走进C++的世界
B.1 类和对象的简介
B.1.1 C中用户自定义类型
B.1.2 转向C++
B.1.3 构造函数
B.1.4 析构函数
B.1.5 其它的成员函数
B.1.6 private和public型类成员
B.1.7 帮助函数
B.1.8 对C++封装的简要说明
B.2 继承和多态性:一个具体的例子
B.2.1 轨道物体的基类和虚函数
B.2.2 纯虚函数
B.2.3 派生类
B.2.4 在基类中所调用的虚函数
B.3 内嵌对象
B.3.1 拷贝构造函数
B.3.2 赋值运算符
B.3.3 C++引用:提高效率
B.3.4 内嵌对象创建的总结
B.3.5 内嵌对象的析构
B.4 在堆中申请对象
B.4.1 C++的new和delete运算符
B.4.2 通过指针来引用对象
B.4.3 虚析构函数
B.5 全程对象的申请
B.6 对象之间的相互关系:指针数据成员
B.7 this指针的使用
B.8 对指针的引用
B.9 友元类和友元函数
B.9.1 友元类
B.9.2 全程友元函数
B.10 静态类成员
B.10.1 静态数据成员
B.10.2 枚举类型——实现静态数据面员的捷径
B.10.3 静态成员函数
B.11 重载运算符
B.11.1 成员函数运算符
B.11.2 转换运算符
B.11.3 辅助运算符(helper operator)
B.12 从代码中分离出类定义
附录 C 匈牙利表示法
附录 D 代码调试
D.1 TRACE
D.1.1 几种模式
D.1.2 使用TRACE
D.2 调试框架
D.2.1 AssertValid( )
D.2.2 防御型的编程方式
D.2.3 关于Dump ( )
D.3 自我诊断
D.4 调试代码的作用
D.5 用Dump( )显示对象的信息
D.6 检查内存
猜您喜欢