新闻资讯
看你所看,想你所想

VC++深入详解

VC++深入详解

VC++深入详解

《VC++深入详解》是电子工业出版社出版的书籍,作者是孙鑫、余安萍。本书主要从程式内部运行的机制和MFC程式的组织脉络入手,使读者在学习VC++编程知识时,既能够知其然,又能知其所以然,从而帮助读者从根本上理解和掌握Windows的程式设计。另外,全书还贯穿作者多年来学习编程的一些经验,以及一些学习方法的建议,为读者进一步的学习提供指导。

基本介绍

  • 书名:VC++深入详解
  • 又名:VC++ in-depth Xiangjie
  • 作者:孙鑫、余安萍
  • 定价:89元
  • 出版社:电子工业出版社
  • 装帧:精装

内容简介

本书从实际套用入手,由浅入深、循序渐进地讲述Windows程式内部运行机制、MFC框架、文本、选单、对话框、档案操作、网路编程、进程间通信、ActiveX控制项、动态程式库、HOOK编程等多个主题。
VC++深入详解
本书内容丰富、实用性强,许多代码可以直接套用到工程项目中。书中的配套光碟还免费提供近乎45小时的VC++教学视频,读者在学习的过程中可以将视频和书互为参考,配合学习,这样可以更快、更好地掌握VC++编程。
本书适合于VC++6.0的初学者和使用VC++从事开发的程式设计师,对于具有一定VC++编程经验的读者,也具有很好的参考价值。

编辑推荐

VC++是在Windows平台下构建32位应用程式的强大而又複杂的开发工具,是目前世界上使用最多的开发工具之一。VC++的套用非常广泛,从桌面应用程式到伺服器端软体,从系统软体到套用软体,从单机程式到分散式应用程式,从图形图像处理到游戏的开发,VC++无所不在。有一句关于VC++的话流传甚广,说“偷懒的人学VB,聪明的人学Delphi,真正的程式设计师学VC”,其一方面说明了VC套用的广泛,另一方面也说明了学习VC是有一定难度的。 2004年,作者推出了一套讲述VC++ 6.0编程的教学视频,得到了广大学员的热烈反响,许多学员通过这套视频走上了VC++开发之路。有不少学员来信希望我能够将视频中的内容着书出版,让更多的人受益,然而由于自身琐事较多,一直未能如愿。后来在博文视点公司郭立总编的介绍下,有幸结识了余安萍,并由她执笔将视频中的内容整理出书。正是由于余安萍和郭立女士所付出的劳动,才有了本书的出版,在此向她们表示衷心的感谢。本书读者本书读者群包括: 掌握了C语言,想进一步学习Windows编程的读者。 学习VC++多年,但始终没有真正入门的读者。 正在从事VC++开发的初级程式设计师。 有一定VC++开发经验,想要系统地学习VC++的读者。在本书的配套光碟中,提供了一套完整的VC++教学视频,以帮助读者更快、更好地掌握VC++编程。本书的内容组织本书在内容的组织上循序渐进、由浅入深;在知识的介绍上,从内到外、从原理到实践。第1章帮助读者掌握Windows平台下程式运行的内部机制。第2章帮助读者複习C++中的重要知识,为后续知识的学习打下良好的基础。第3章重点剖析MFC框架程式的运行脉络,并与第1章的知识做对照,为读者彻底扫清学习MFC的迷雾。相信通过这章的学习,很多以前学过MFC的读者都会有一种恍然大悟的感觉。前三章可以归为基础部分,从第4章开始就是实际套用开发的讲解了,包括绘图、文本、选单、对话框、定製程式外观、图形保存和重绘、档案和注册表操作、网路编程、多执行绪、进程间通信、ActiveX控制项、动态程式库、HOOK编程等多个主题,并且每一章都有一个完整的例子。本书的讲解理论结合实际,选用的例子和代码具有相当的代表性和实用价值,我和我的学员曾经在实际开发项目的过程中就直接使用过很多书中的代码。本书的实例程式作者在编写本书时,使用的作业系统是Windows 2000 Service Pack 4,开发工具是VC++ 6.0 SP5,MSDN是2001年1月版的(提示:与VC++6.0匹配的MSDN截止到2001年10月版,之后的版本都与.NET匹配,可能与本书使用的版本有所不同)。本书所有的实例程式都在上述环境中运行正常。提示:由于QQ运行时占用了多个连线埠,可能与本书例子中的网路程式使用的连线埠冲突,在运行本书例子中的网路程式时,如果出错,请更换程式中的连线埠号,或者关闭QQ后再运行程式。学习建议配套光碟提供的视频课数与本书的章数是一一对应的,建议读者先看视频,有一个初步印象后再看相应的章节,这样能够更快、更好地掌握VC++编程。在学习本书时,建议读者多动脑(想想为什幺),多动手(将知识转换为自己的)。在理解的前提下,独立地编写出书中每章的例子程式,可以作为是否掌握本章内容的一个考核。由于作者的水平有限,错误和疏漏之处在所难免,欢迎广大技术专家和读者指正。

作品目录

第1章 windows程式内部运行机制 1
1.1 api与sdk 1
1.2 视窗与句柄 2
1.3 讯息与讯息伫列 3
1.4winmain函式 4
1.4.1 winmain函式的定义 5
1.4.2 视窗的创建 6
1.4.3 讯息循环 13
1.4.4 编写视窗过程函式 15
1.5 动手写第一个windows程式 19
1.6 讯息循环的错误分析 23
1.7 变数的命名约定 25
1.8 小结 26
第2章 掌握c++ 27
2.1 从结构到类 27
2.1.1 结构体的定义 27
2.1.2 结构体与类 29
2.2 c++的特性 30
2.2.1 类与对象 34
2.2.2 构造函式 34
2.2.3 析构函式 37
2.2.4 函式的重载 37
2.2.5 this指针 39
2.2.6 类的继承 41
2.2.7 虚函式与多态性、纯虚函式 48
2.2.8 函式的覆盖和隐藏 52
2.2.9 引用 55
2.2.10 c++类的设计习惯及头档案重複包含问题的解决 57
2.2.11 vc++程式编译连结的原理与过程 61
第3章 mfc框架程式剖析 63
3.1 mfc appwizard 63
3.2 基于mfc的程式框架剖析 66
3.2.1 mfc程式中的winmain函式 67
3.2.2 mfc框架视窗 78
3.2.3 讯息循环 85
3.2.4 视窗过程函式 86
3.2.5 文档/视类结构 87
3.2.6 帮助对话框类 88
3.3 视窗类、视窗类对象与视窗 88
3.3.1 三者之间关係 88
3.3.2 在视窗中显示按钮 92
3.4 本章小结 99
第4章 简单绘图 100
4.1 mfc讯息映射机制 100
4.1.1 classwizard 101
4.1.2 讯息映射机制 108
4.2 绘製线条 112
4.2.1 利用sdk全局函式实现画线功能 114
4.2.2 利用mfc的cdc类实现画线功能 115
4.2.3 利用mfc的cclientdc类实现画线功能 116
4.2.4 利用mfc的cwindowd
第5章 文本编程
5.1 插入符
5.1.1 创建文本插入符
5.1.2 创建图形插入符
5.2 视窗重绘
5.2.1 OnDraw函式
5.2.2 添加字元串资源
5.3 路径
5.4 字元输入
5.4.1 设定字型
5.4.2 字幕变色功能的实现
5.5 本章小结
第6章 选单

6.1 选单命令回响函式
6.2 选单命令的路由
6.2.1 程式类对选单命令的
4.2.4 回响顺序
6.2.2 Windows讯息的分类
6.2.3 选单命令的路由
6.3 基本选单操作
6.3.1 标记选单
6.3.2 默认选单项
6.3.3 图形标记选单
6.3.4 禁用选单项
6.3.5 移除和装载选单
6.3.6 MFC选单命令更新机制
6.3.7 快捷选单
6.4 动态选单操作
6.4.1 添加选单项目
6.4.2 插入选单项目
6.4.3 删除选单
6.4.4 动态添加的选单项的
6.4.4 命令回响
6.5 电话本示例程式
6.5.1 动态添加子选单的实现
6.5.2 显示输入的字元
6.5.3 添加选单项及其命令
6.5.3 回响函式
6.5.4 框架类视窗截获选单
6.5.3 命令讯息
6.6 本章小结
第7章 对话框(一)

7.1 对话框基本知识
7.1.1 常用控制项介绍
7.1.2 对话框的种类
7.2 对话框的创建和显示
7.2.1 模态对话框的创建
7.2.2 非模态对话框的创建
7.3 动态创建按钮
7.4 控制项的访问
7.4.1 控制项的调整
7.4.2 静态文本控制项
7.4.3 编辑框控制项
7.5 对话框伸缩功能的实现
7.6 输入焦点的传递
7.7 默认按钮的进一步说明
7.8 本章小结
第8章 对话框(二)

8.1 “逃跑”按钮的实现
8.2 属性表单和嚮导的创建
8.2.1 创建属性页
8.2.2 创建属性表单
8.2.3 嚮导的创建
8.3 本章小结
附录
第9章 定製应用程式外观

9.1 修改应用程式视窗的
9.1 外观
9.1.1 在视窗创建之前修改
9.1.2 在视窗创建之后修改
9.2 修改视窗的游标、
9.2 图示和背景
9.2.1 在视窗创建之前修改
9.2.2 在视窗创建之后修改
9.3 模拟动画图示
9.3.1 载入图示资源
9.3.2 定时器的处理
9.4 工具列编程
9.4.1 在工具列上添加和
9.4.1 删除按钮
9.4.2 创建工具列
9.5 状态栏编程
9.6 进度栏编程
9.6.1 在视窗中创建进度栏
9.6.2 在状态栏的窗格中创建
9.6.2 进度栏
9.7 在状态栏上显示滑鼠
9.7 当前位置
9.8 启动画面
9.9 本章小结
第10章 绘图控制

10.1 简单绘图
10.2 设定对话框
10.2.1 设定线宽
10.2.2 设定线型
10.3 颜色对话框
10.4 字型对话框
10.5 示例对话框
10.6 改变对话框和控制项的背景及
10.6 文本颜色
10.6.1 改变整个对话框及其上子
10.6.1 控制项的背景色
10.6.2 仅改变某个子控制项的背景
10.6.1 及文本颜色
10.6.3 改变控制项上的文本字型
10.6.4 改变按钮控制项的背景色
10.6.1 及文本颜色
10.7 点阵图的显示
10.8 本章小结
第11章 图形的保存和重绘

11.1 坐标空间和转换
11.1.1 坐标空间
11.1.2 转换
11.1.3 逻辑坐标和设备坐标
11.2 图形的保存和重绘
11.2.1 集合类CPtrArray
11.2.2 OnPaint与OnDraw
11.3 视窗滚动功能的实现
11.3.1 CScrollView类
11.3.2 图形错位现象
11.4 元档案
11.4.1 元档案的使用
11.4.2 元档案的保存
11.4.2 与打开
11.5 兼容设备描述表
11.6 本章小结
第12章 档案和注册表操作

12.1 const char*和char* const
12.1.1 const char*
12.1.2 char* const
12.2 C语言对档案操作的支持
12.2.1 档案的打开
12.2.2 档案的写入
12.2.3 档案的关闭
12.2.4 fflush函式
12.2.5 档案指针定位
12.2.6 档案的读取
12.2.7 二进制档案和文本档案
12.2.8 文本方式和二进制方式
12.3 C++对档案操作的支持
12.4 Win32 API对档案操作
12.4 的支持
12.4.1 档案的创建和打开
12.4.2 档案的写入
12.4.3 档案的读取
12.5 MFC对档案操作的支持
12.5.1 档案的写入
12.5.2 档案的读取
12.5.3 CFileDialog类
12.6 Win.ini档案的访问
12.6.1 Win.ini档案的结构
12.6.2 Win.ini档案的写入
12.6.3 Win.ini档案的读取
12.7 注册表的编程
12.7.1 注册表API
12.7.2 注册表访问示例
12.8 本章小结
第13章 文档与串列化

13.1 使用CArchive类对档案
13.1 进行读写操作
13.2 MFC框架程式提供的档案
13.2 新建功能
13.2.1 IDR_MAINFRAME
13.2.1 字元串资源
13.2.2 OnNewDocument函式的
13.2.2 调用过程
13.3 文档串列化
13.3.1 文档类的Serialize函式
13.3.2 MFC框架对Serialize
13.3.2 函式的调用过程
13.4 可串列化的类
13.4.1 实现类对串列化的支持
13.4.2 利用可串列化类的Serialize
13.4.2 函式保存和载入对象
13.4.3 版本号
13.4.4 利用CObArray类对串列化
13.4.4 的支持保存和载入数据
13.5 文档对象数据的销毁
13.6 本章小结
第14章 网路编程

14.1 计算机网路基本知识
14.1.1 IP位址
14.1.2 协定
14.1.3 网路的状况
14.1.4 网路异质性问题的解决
14.1.5 ISO/OSI七层参考模型
14.1.6 数据封装
14.1.7 TCP/IP模型
14.1.8 连线埠
14.1.9 套接字(socket)的引入
14.1.10 网路位元组顺序
14.1.11 客户机/伺服器模式
14.2 Windows Sockets的实现
14.2.1 套接字的类型
14.2.2 基于TCP(面向连线)
14.2.2 的socket编程
14.2.3 基于UDP(面向无连线)
14.2.2 的socket编程
14.3 相关函式
14.3.1 WSAStartup函式
14.3.2 socket函式
14.3.3 bind函式
14.3.4 inet_addr和inet_ntoa函式
14.3.5 listen函式
14.3.6 accept函式
14.3.7 send函式
14.3.8 recv函式
14.3.9 connect
14.3.10 recvfrom
14.3.11 sendto函式
14.3.12 htons和htonl函式
14.4 基于TCP的网路应用程式
14.4 的编写
14.4.1 伺服器端程式
14.4.2 客户端程式
14.5 基于UDP的网路应用程式
14.5 的编写
14.5.1 伺服器端程式
14.5.2 客户端程式
14.6 基于UDP的简单聊天程式
14.6.1 伺服器端程式
14.6.2 客户端程式
14.7 本章小结
第15章 多执行绪

15.1 基本概念
15.1.1 进程
15.1.2 执行绪
15.2 执行绪创建函式
15.3 简单多执行绪示例
15.4 执行绪同步
15.4.1 火车站售票系统模拟程式
15.4.2 多执行绪程式容易出现的问题
15.4.3 利用互斥对象实现执行绪同步
15.5 保证应用程式只有一个
15.5 实例运行
15.6 网路聊天室程式的实现
15.6.1 载入套接字型档
15.6.2 创建并初始化套接字
15.6.3 实现接收端功能
15.6.4 实现传送端功能
15.7 本章小结
第16章 执行绪同步与异步

16.1 事件对象
16.1.1 创建事件对象
16.1.2 设定事件对象状态
16.1.3 重置事件对象状态
16.1.4 利用事件对象实现执行绪同步
16.1.5 保证应用程式只有一个
16.1.5 实例运行
16.2 关键代码段
16.2.1 相关的API函式
16.2.2 利用关键代码段实现
16.2.2 执行绪同步
16.3 执行绪死锁
16.4 互斥对象、事件对象与
16.4 关键代码段的比较
16.5 基于讯息的异步套接字
16.5.1 相关函式说明
16.5.2 网路聊天室程式的实现
16.6 本章小结
第17章 进程间通信

17.1 剪贴簿
17.1.1 数据传送
17.1.2 数据接收
17.2 匿名管道
17.2.1 基础知识
17.2.2 进程的创建
17.2.3 父进程的实现
17.2.4 子进程的实现
17.3 命名管道
17.3.1 基础知识
17.3.2 伺服器端程式
17.3.3 客户端程式
17.4 邮槽
17.4.1 伺服器端程式
17.4.2 客户端程式
17.5 本章小结
第18章 ActiveX控制项

18.1 ActiveX控制项
18.1.1 ActiveX控制项的好处
18.1.2 MFC ActiveX
18.1.2 ControlWizard
18.1.3 ActiveX控制项的测试
18.1.4 ActiveX控制项的注册
18.1.5 时钟控制项的实现
18.2 属性
18.2.1 标準属性
18.2.2 自定义属性
18.3 方法
18.4 事件
18.4.1 标準事件
18.4.2 自定义事件
18.5 属性的持久性
18.6 环境属性
18.7 ActiveX控制项测试程式
18.8 本章小结
18.9 问题
第19章 动态程式库

19.1 动态程式库概述
19.1.1 静态库和动态库
19.1.2 使用动态程式库的好处
19.1.3 动态程式库的载入
19.2 Win32 DLL的创建和使用
19.2.1 Dumpbin命令
19.2.2 从DLL中导出函式
19.3 隐式连结方式载入DLL
19.3.1 利用extern声明
19.3.1 外部函式
19.3.2 Depends工具
19.3.3 利用_declspec(dllimport)
19.3.3 声明外部函式
19.4 完善Win32 DLL例子
19.5 从DLL中导出C++类
19.6 解决名字改编问题
19.7 显示载入方式载入DLL
19.7.1 LoadLibary函式
19.7.2 调用约定
19.7.3 根据序号访问DLL中的
19.7.3 导出函式
19.8 DllMain函式
19.9 MFC DLL
19.10 本章小结
第20章 HOOK和资料库访问

20.1 HOOK编程
20.1.1 基本知识
20.1.2 进程内钩子
20.1.3 全局钩子
20.2 资料库访问技术
20.3 在VB中利用ADO访问
20.3 资料库
20.3.1 利用ADO控制项访问
20.3.1 资料库
20.3.2 利用ADO对象访问
20.3.1 资料库
20.4 在VC中利用ADO访问
20.4 资料库
20.5 本章小结

转载请注明出处海之美文 » VC++深入详解

相关推荐

    声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:ailianmeng11@163.com