MFC Windows程序设计

出版社:清华大学出版社
出版日期:2007-5
ISBN:9787302150428
作者:(美)Jeff Prosise
页数:1166页

内容概要

帕罗赛斯 是一位作者、教员和讲师,他以Windows编程和教授别人如何进行Windows编程为生。作为一位在Windows程序设计、MFC和COM领域世界知名的权威,他还是《PC Magzine》和《Microsoft Systems Journal》杂志的组稿编辑。

书籍目录

鸣谢
序言
第Ⅰ部分 Windows和MFC基础
第1章 Hello,MFC
1.1 Windows编程模型
1.1.1 消息消息还是消息
1.1.2 Windows程序设计SDK风格
1.1.3 匈牙利标记法和Windows数据类型
1.1.4 SDK程序设计展望
1.2 MFC简介
1.2.1 使用C++和MFC的好处
1.2.2 MFC的设计思想
1.2.3 文档/视图体系结构
1.2.4 MFC类的分层结构
1.2.5 AFX函数
1.3 您的第一个MFC应用程序
1.3.1 应用程序对象
1.3.2 MFC如何使用应用程序对象
1.3.3 框架窗口对象
1.3.4 绘制窗口
1.3.5 消息映射
1.3.6 消息映射的工作方式
1.3.7 Windows、字符集和_T宏
1.3.8 建立应用程序
1.3.9 小结
第2章 在窗口中绘图
2.1 Windows GDI
2.1.1 MFC设备描述表类
2.1.2 设备描述表属性
2.1.3 绘图模式
2.1.4 映射模式
2.1.5 可编程映射模式
2.1.6 坐标转换
2.1.7 移动原点
2.1.8 坐标系小结
2.1.9 获取设备信息
2.2 用GDI绘图
2.2.1 画直线和曲线
2.2.2 圆椭圆、多边形以及其他形状
2.2.3 GDI画笔和CPen类
2.2.4 GDI画刷和CBrush类
2.2.5 画文本
2.2.6 GDI字体和CFont类
2.2.7 光栅字体与TrueType字体
2.2.8 旋转文本
2.2.9 备用对象
2.2.10 删除GDI对象
2.2.11 取消对GDI对象的选定
2.2.12 标尺应用程序
2.3 看看画了些什么
2.3.1 给窗口添加滚动条
2.3.2 设定滚动条的范围、位置和页面大小
2.3.3 使滚动条滑块大小和窗口尺寸同步变化
2.3.4 处理滚动条消息
2.3.5 滚动窗口
2.3.6 Accel应用程序
2.4 遗留问题
第3章 鼠标和键盘
3.1 从鼠标获取输入
3.1.1 客户区鼠标消息
3.1.2 TicTac应用程序
3.1.3 非客户区鼠标消息
3.1.4 WM_NCHITTEST消息
3.1.5 WM_MOUSELEAVE和WM_MOUSEHOVER消息
3.1.6 鼠标滚轮
3.1.7 捕获鼠标
3.1.8 鼠标捕获的应用
3.19 光标
3.1.10 沙漏形光标
3.1.11 鼠标杂录
3.2 从键盘获取输入
3.2.1 输入焦点
3.2.2 击键消息
3.2.3 虚拟键代码
3.2.4 Shift状态及切换
3.2.5 字符消息
3.2.6 死键消息
3.2.7 插入符
3.3 VISUALKB应用程序
3.3.1 处理插入符
3.3.2 输入及编辑文本
3.3.3 其他有趣内容
第4章 菜单
4.1 菜单基础
4.1.1 创建菜单
4.1.2 加载并显示菜单
4.1.3 响应菜单命令
4.1.4 命令范围
4.1.5 更新菜单中的菜单项
4.1.6 更新范围
4.1.7 键盘加速键
4.2 SHAPES应用程序
4.2.1 运行MFC AppWizard
4.2.2 分析AppWizard的输出
4.2.3 AppWizard之外的工作
4.2.4 过程小结
4.3 菜单魔术
4.3.1 通过手工编程创建菜单
4.3.2 通过手工编程修改菜单
4.3.3 系统菜单
4.3.4 自制菜单
4.3.5 层叠菜单
4.3.6 上下文菜单
4.4 COLORS应用程序
4.4.1 上下文菜单
4.4.2 试一试
第5章 MFC集合类
5.1 数组
5.1.1 MFC数组类
5.1.2 动态调整数组大小
5.1.3 用CArray创建类型安全数组类
5.2 列表
5.2.1 MFC列表类
5.2.2 用Clist创建类型安全列表类
5.3 映射表
5.3.1 MFC映射表类
5.3.2 映射表工作方式
5.3.3 提高查找效率
5.3.4 用CMap创建类型安全映射表类
5.4 类型指针类
第6章 文件I/O和串行化
6.1 CFile类
6.1.1 打开、关闭和创建文件
6.1.2 读和写
6.1.3 CFile派生类
6.1.4 枚举文件和文件夹
6.2 串行化和CArchive类
6.2.1 串行化基础
6.2.2 编写可串行化类
6.2.3 给可串行化类分配版本号:可配置版本模式
6.2.4 串行化工作过程
6.2.5 串行化CObject
第7章 控件
7.1 传统控件
7.1.1 CButton类
7.1.2 CListBoX类
7.1.3 CStatic类
7.1.4 FontView应用程序
7.1.5 CEdit类
7.1.6 赶快!即时记事本
7.1.7 CComboBox类
7.1.8 CScrollBar类
7.2 高级控件程序设计
7.2.1 数字编辑校件
7.2.2 自制列表框
7.2.3 图形按钮
7.2.4 自定义控件的颜色
7.2.5 消息反射
第8章 对话框和属性表
8.1 模式对话框和CDialog类
8.1.1 对话框模板
8.1.2 CDialog类
8.1.3 创建模式对话框
8.1.4 对话框数据交换和对话框数据校验
8.1.5 与对话框中的控件相互作用
8.1.6 DlgDemol应用程序
8.2 无模式对话框
8.3 用对话框作为主窗口
8.4 属性表
8.5 公用对话框
8.5.1 修改公用对话框
8.5.2 Phones应用程序
第Ⅱ部分 文档/视图体系结构
第9章 文档、视图和单文档界面
9.1 文档/视图基础知识
9.1.1 再看InitInstance函数
9.1.2 文档对象
9.1.3 视图对象
9.1.4 框架窗口对象
9.1.5 动态对象创建
9.1.6 有关SDI文档模板的其他内容
9.1.7 用操作系统命令解释器注册文档类型
9.1.8 命令传送
9.1.9 预定义的命令ID和命令处理程序
9.2 第一个文档/视图应用程序
9.2.1 SdiSquares应用程序
9.2.2 循序渐进地创建SdiSquares
9.3 文档+视图=较少的工作量
第10章 滚动视图、HTML视图以及其他视图类型
10.1 滚动视图
10.1.1 CScrollView基础
10.1.2 CScrollView操作
10.1.3 优化滚动操作
10.1.4 ScrollDemo应用程序
10.1.5 普通视图转换为滚动视图
10.2 HTML视图
10.2.1 CHtmlView操作
10.2.2 CHtmlView可覆盖函数
10.2.3 在基于CHtmlView的应用程序中使用DHTML
10.2.4 树形视图
10.2.5 初始化树形视图
10.2.6 树形视图的成员函数和通知
10.2.7 DriveTree应用程序
10.3 列表视图
10.3.1 初始化列表视图
10.3.2 修改表现样式
10.3.3 在列表视图中排序
10.3.4 列表视图中的命中测试
10.3.5 WinDir应用程序
10.4 自制控件视图
第11章 多文档和多视图
11.1 MFC和多文档界面
11.1.1 同步文档的多个视图
11.1.2 MdiSquares应用程序
11.1.3 支持多个文档类型
11.1.4 MDI之外的其他选择
11.2 拆分窗口
11.2.1 动态拆分窗口
11.2.2 Sketch应用程序
11.2.3 静态拆分窗口
11.2.4 Wanderer应用程序
11.2.5 自定义命令传送
11.2.6 嵌套拆分窗口
11.2.7 带有多种视图类型的动态拆分窗口
第12章 工具栏、状态栏和组合栏
12.1 工具栏
12.1.1 创建和初始化工具栏
12.1.2 固定式和浮动式工具栏
12.1.3 控制工具栏的可见性
12.1.4 保持工具栏按钮和应用程序同步
12.1.5 添加工具提示和状态柱工具说明
12.1.6 在工具栏中添加非按钮控件
12.1.7 更新非按钮控件
12.1.8 使工具栏设置永久化
12.1.9 AppWizard提供的工具栏支持
12.2 状态栏
12.2.1 创建和初始化状态栏
12.2.2 为菜单项提供上下文相关帮助
12.2.3 创建自定义状态栏窗格
12.2.4 AppWizard提供的状态栏支持
12.3 总结:MYWORD应用程序
12.3.1 主工具栏
12.3.2 样式栏
12.3.3 再谈CRichEditView
12.4 组合栏
第13章 打印和打印预览
13.1 通过文档和视图打印
13.1.1 Windows打印体系结构
13.1.2 MFC打印体系结构
13.1.3 打印预览
13.2 只有打印功能的应用程序
13.2.1 黑白打印预览
13.3 复杂的打印应用程序
13.3.1 串行化的唯一方法
13.4 打印技巧与诀窍
13.4.1 使用打印对话框中的选定范围单选按钮
13.4.2 不要假定——实践出真知!
13.4.3 添加默认分页支持
13.4.4 枚举打印机
第Ⅲ部分 高级篇
第14章 计时器和空闲处理
14.1 计时器
14.1.1 设置计时器:方法1
14.1.2 响应WM_TIMER消息
14.1.3 设置计时器:方法2
14.1.4 清除计时器
14.2 CLOCK应用程序
14.2.1 处理计时器消息
14.2.2 获得当前时间:CTime类
14.2.3 使用MM_ISOTROPIC映射方式
14.2.4 隐藏和显示标题栏
14.2.5 实现客户区拖动
14.2.6 使用系统莱单作为上下文莱单
14.2.7 最顶层窗口
14.2.8 保留配置设置
14.2.9 控制窗口大小:WM_GETMINMAXINFO消息
14.3 空闲处理
14.3.1 使用Onldle
14.3.2 对比空闲处理和多线程处理
第15章 位图、调色板以及区域
15.1 调色板
15.1.1 Windows使用颜色的方式
15.1.2 逻辑调色板和CPalette类
15.1.3 创建逻辑调色板
15.1.4 实现逻辑调色板
15.1.5 用调色板颜色绘图
15.1.6 WM_OUERYNEWPALETTE和WM_PALETTECHANGED消息
15.1.7 确定是否需要逻辑调色板
15.1.8 PaletteDemo应用程序
15.1.9 调色板动画
15.1.10 ::SetSystemPaletteUse函数
15.2 位图
15.2.1 DDB和CBitmap类
15.2.2 按位将位图传送到屏幕和其他设备
15.2.3 位图资源
15.2.4 DIB和DIB分区
15.2.5 位块传送、光栅操作以及颜色映射
15.2.6 BitmapDemo应用程序
15.2.7 编写BMP文件查看器
15.2.8 再论::LoadImage
15.3 区域
15.3.1 区域和CRgn类
15.3.2 RegionDemo应用程序
第16章 公用控件
16.1 公用控件基础
16.1.1 创建公用控件
16.1.2 处理通知:WM_NOTIFY消息
16.2 滑杆、微调按钮和工具提示控件
16.2.1 滑杆控件
16.2.2 微调按钮控件
16.2.3 工具提示控件
16.2.4 GridDemo应用程序
16.3 图像列表和ComboBoxEx控件
16.3.1 图像列表
16.3.2 ComboBoxEx控件
16.3.3 PathList应用程序
16.4 进度控件和动画控件
16.4.1 进度控件
16.4.2 动画控件
16.5 IP地址控件和其他数据输入控件
16.5.1 IP地址控件
16.5.2 热键控件
16.5.3 月历控件
16.5.4 日期-时间拾取控件
第17章 线程和线程同步化
17.1 线程
17.1.1 创建工作者线程
17.1.2 创建UI线程
17.1.3 暂停和继续执行线程
17.1.4 使线程睡眠
17.1.5 终止线程
17.1.6 自动删除CWinThread
17.1.7 结束另一个线程
17.1.8 线程、进程以及优先级别
17.1.9 在多线程应用程序中使用C运行时函数
17.1.10 跨线程界限调用MFC成员函数
17.1.11 您的第一个多线程应用程序
17.2 线程同步
17.2.1 临界区
17.2.2 互斥量
17.2.3 事件
17.2.4 信号量
17.2.5 CSingleLock和CMultibock类
17.2.6 编写线程安全类
17.2.7 ImageEdit应用程序
17.3 小知识点
17.3.1 消息泵
17.3.2 执行其他进程
17.3.3 文件改变通知
第Ⅳ部分 COM,OLE和ActiveX
第18章 MFC和组件对象模型
18.1 组件对象模型
18.1.1 实例化COM对象
18.1.2 对象生存期
18.1.3 获得接口指针
18.1.4 COM服务器
18.1.5 定位透明度
18.1.6 对象链接和嵌入
18.1.7 Active Documents
18.1.8 ActiveX
18.2 MFC和COM
18.2.1 多重继承
18.2.2 嵌套类
18.2.3 MFC和嵌套类
18.2.4 MFC实现IUnknown的方法
18.2.5 接口映射
18.2.6 MFC和聚合
18.2.7 MFC和类厂
18.2.8 总结
第19章 剪贴板和OLE施放
19.1 传统剪贴板
19.1.1 剪贴板格式
19.1.2 私有剪贴板格式
19.1.3 以多种格式提供数据
19.1.4 查询有效数据格式
19.1.5 延时再现
19.1.6 创建可重用剪贴板类
19.2 OLE剪贴板
19.2.1 OLE剪贴板基础
19.2.2 MFC、全局内存和OLE剪贴板
19.2.3 使用其他存储媒体
19.2.4 将OLE剪贴板看作CFile
19.2.5 多种格式和多种存储媒体
19.2.6 检查数据有效性
19.2.7 用COleDataSource进行延时再现
19.2.8 COleDataSource和COleDataObject复习
19.3 OLE拖放
19.3.1 拖放来源剖析
19.3.2 拖放目标剖析
19.3.3 MFC对OLE拖放的支持
19.3.4 拖放目标滚动
19.4 综合应用:WIDGET应用程序
19.4.1 AfxOleInit函数
第20章 Automation
20.1 Automation基础
20.1.1 IDispatch:所有Automation的基础
20.1.2 Automation数据类型
20.1.3 滞后绑定与超前绑定的对比
20.1.4 双接口
20.1.5 类型库
20.2 MFC Automation服务器
20.2.1 MFC、IDispatch和调度映射
20.2.2 编写Automation服务器
20.2.3 添加Automation方法
20.2.4 添加Automation属性
20.2.5 简单的Automation服务器
20.2.6 Automation的分层结构
20.2.7 更复杂的Automation服务器
20.3 MFC Automation客户
20.3.1 PieClient应用程序
20.3.2 连接到运行着的Automation服务器
第21章 ActiveX控件
21.1 ActiveX控件基础
21.1.1 方法、属性和事件
21.1.2 自定义型和备用型
21.1.3 环境属性
21.1.4 控件状态
21.1.5 ActiveX控件体系结构
21.1.6 ActiveX控件容器
21.1.7 MFC对ActiveX控件的支持
21.2 创建ActiveX控件
21.2.1 运行ControlWizard
21.2.2 实现OnDraw
21.2.3 使用环境属性
21.2.4 添加方法
21.2.5 添加属性
21.2.6 使属性成为持久属性
21.2.7 自定义控件的属性表
21.2.8 给控件属性表添加页
21.2.9 添加事件
21.2.10 事件映射表
21.2.11 创建一个ActiveX控件
21.2.12 测试及调试ActiveX控件
21.2.13 注册ActiveX控件
21.3 在MFC应用程序中使用ActiveX控件
21.3.1 调用ActiveX控件的方法
21.3.2 处理事件
21.3.3 CalUser应用程序
21.3.4 在非对话框窗口中使用ActiveX控件
21.3.5 在Web网页中使用ActiveX控件
21.4 高级论题
21.4.1 无窗口控件
21.4.2 控件子类化
21.4.3 控件许可

编辑推荐

《MFC Windows程序设计(第2版)》见解深刻,并附带有辅助学习的资源包括在随附的CD-ROM中提供了大量代码实例。要理解如何利用MFC库中提供的成千上万的预编译、预测试的代码的优点,《MFC Windows程序设计》(第2版)(修订版)及其作者将是您独一无二的选择。

作者简介

《MFC Windows程序设计》(第2版)(修订版)不仅扩展了已被认为是权威的关于Microsoft用于Windows API的功能强大的C++类库的阐述,还新增了有关COM、OLE和ActiveX的内容。《MFC Windows程序设计》(第2版)(修订版)的作者,Jeff Prosise,用其无与伦比的技巧向读者讲述了MFC程序设计中的基本概念和主要技术再次阐释了在32位Windows平台上进行了快速的面向对象开发的完美方法。《MFC Windows程序设计》(第2版)(修订版)涵盖了以下专题:事件驱动程序设计和MPC的基础知识文档/视图体系结构位图、调色板和区域多线程和线程同步MFC与组件对象模型(COM)ActiveX控件

图书封面


 MFC Windows程序设计下载



发布书评

 
 


精彩短评 (总计38条)

  •     MFC的经典,好书,读起来很能吸引人
  •     大学买的书 学习MFC必备 至今也没全部看结束
  •     物流太快了,让我后悔的就会都没有
  •     挺厚的呀,够看一段时间的了
  •     很实用,但是内容是vc6.0,dotnet下又不少变化
  •     这本书讲解的东西很多啊,也很全,就是书太厚了,像个转头啊。
  •     现在不怎么用了都。。。。
  •     程序设计
  •     质量很好,慢慢学习MFC吧
  •     当字典用不错的MFC书。
  •     物流很快,包装很好,书很新,总的来说不错!
  •     对理解MFC的构造很有帮助,不过跟《Programming Windows》有些类似,看了前面的几章(尤其是第一章、第八章)之后,剩下的基本就是API了。看这本书,最好要先看《Programming Windows》。
  •     官方的书就是到位,翻译也很好,没觉得是翻译过来的。做Windows相关开发的都应该看一看。
  •     花了将近一百购买,光盘损坏,封面胶布脱落,这物流,,,,书的内容嘛就不用我讲了。
  •     搞定这本书,MFC基本就搞定了70%
  •     感觉应该是正品,很有厚实感,给好评
  •     很好,有光盘,是很好的
  •     毕设参考
  •     这本书确实写的不错
  •     本来现在是CRL盛行的时间,但学习MFC也是需要的,他是根!此书知识量很大,因此可读性会不是很好,但他的确是一本好书,可以让你渐进的学习MFC,大家知道初学MFC是有难度的,但作者说得好,只要一开始就好好的读,(当然需要大家研究一下源代码,在光盘中),你会学会使用MFC的。然而本人认为最后IV部分可以不读,因为使用CRL更符合现代软件开发的要求。
  •     这本书不用说了吧,MFC四大天王之一,MFC经典书。价格吗比其它的像京东,ChinaPub价格低几块钱。 一千多页的书,怎么也得看个半年一年的吧。
  •     总体感觉不是很好。也不是发票,感觉好像不是很正规样。
  •     MFC程序设计领域的经典之作!值得一看!
  •     基本算是一个查阅的文档吧,没有必须细读
  •     每个技术都该有本放在桌头的参考书,这本就是MFC的
  •     工作用到它,刚开始看,希望有帮助
  •     2010.12.16
  •     讲解细致全面,有些地方很有独到之处,常读常新
  •     框架什么的能用就行,其实写代码还是那几个地方。这本书写的例子挺好,比如画图、键鼠方面的。没事多写代码。
  •     这本对于想学VC++的人来说,的确是一本经典的书籍,它对于MFC下所有函数的运用都讲的相当详细与基础,是一本值得收藏的好书,许多高校老师在给学生授课(关于Windows程序设计)时都在用这本书来讲解和扩展,里面的内容相当广泛,如果能够完完全全读懂整本书,相信对自己将是受益非浅!
  •     书里大多是代码,看的就想睡觉。
  •     内容很好,深浅适中
  •     很好的参考书,比较实用,字偏小一点。
  •     这是一本专门讲解MFC的书籍,比较深刻,比市场上的MFC可能会难些,但确实对于有一定基础的MFC读者,能起到提升功力之用。
  •     经典
  •     讲得挺清楚。。可惜书老了点。。
  •     只是太贵了,性价比不高
  •     代码填充纸张,浪费。
 

外国儿童文学,篆刻,百科,生物科学,科普,初中通用,育儿亲子,美容护肤PDF图书下载,。 零度图书网 

零度图书网 @ 2024