![]() |
名称 | MFC Windows程序设计 |
| 索引号 | TP312C/391 | |
| 分类号 | TP312C TP312(程序语言、算法语言) TP31(计算机软件) TP3(计算技术、计算机技术) TP(自动化技术计算技术技术) T(工业技术) |
|
| 作者 | 普罗西斯、北京博彦科技发展有限公司、 | |
| 出版社 | 北京:清华大学出版社,2007 | |
| ISBN | 978-7-302-15042-8 | |
| 页数 | 16, 1166页 | |
| 价格 | CNY128.00 (含光盘) | |
| 标签 | c语言、操作系统、windows、程序设计、mfc、windows编程、c++、计算机、编程、vc、 | |
| 简介 | ||
| 注解 | 本书主要内容包括菜单,控件,对话框和属性表,多文档和多视图,工具栏.状态栏和组合栏,打印和打印预览,计时器和空闲处理,位图.调色板以及区域,公用控件,线程和线程同步化,MFC和组件对象男?剪贴板和OLE拖放,Automation,ActiveX控件等。 | |
帕罗赛斯 是一位作者、教员和讲师,他以Windows编程和教授别人如何进行Windows编程为生。作为一位在Windows程序设计、MFC和COM领域世界知名的权威,他还是《PC Magzine》和《Microsoft Systems Journal》杂志的组稿编辑。
《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控件
鸣谢序言第Ⅰ部分 Windows和MFC基础第1章 Hello,MFC1.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 GDI2.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 AppWizard4.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 循序渐进地创建SdiSquares9.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的应用程序中使用DHTML10.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 再谈CRichEditView12.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 设置计时器:方法114.1.2 响应WM_TIMER消息14.1.3 设置计时器:方法214.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 使用Onldle14.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 再论::LoadImage15.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 自动删除CWinThread17.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 Documents18.1.8 ActiveX18.2 MFC和COM18.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剪贴板看作CFile19.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章 Automation20.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 运行ControlWizard21.2.2 实现OnDraw21.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 控件许可











粤公网安备 44030602003680号