全书由浅入深、循序渐进地介绍了Visual C++开发环境下MFC库的具体使用方法。内容涵盖了Windows-VC-MFC、MFC框架及消息处理机制、MFC通用控件和对话框编程、文档-视结构、MFC数据库编程、MFC网络编程、注册表编程、进程线程和DLL、异常与调试以及.NET MFC应用等。本书主要定位于初、中级读者,同时也可用作高校相关专业以及培训班的参考教材(要求读者具备C++的基本语法知识)。
网站首页 软件下载 游戏下载 翻译软件 电子书下载 电影下载 电视剧下载 教程攻略
书名 | 精通MFC程序设计(附光盘) |
分类 | |
作者 | 姚领田 |
出版社 | 人民邮电出版社 |
下载 | ![]() |
简介 | 编辑推荐 全书由浅入深、循序渐进地介绍了Visual C++开发环境下MFC库的具体使用方法。内容涵盖了Windows-VC-MFC、MFC框架及消息处理机制、MFC通用控件和对话框编程、文档-视结构、MFC数据库编程、MFC网络编程、注册表编程、进程线程和DLL、异常与调试以及.NET MFC应用等。本书主要定位于初、中级读者,同时也可用作高校相关专业以及培训班的参考教材(要求读者具备C++的基本语法知识)。 内容推荐 全书由浅入深、循序渐进地介绍了Visual C++开发环境下MFC库的具体使用方法。全书分9篇共30章,内容涵盖了Windows-VC-MFC、MFC框架及消息处理机制、MFC通用控件和对话框编程、文档-视结构、MFC数据库编程、MFC网络编程、注册表编程、进程线程和DLL、异常与调试以及.NET MFC应用等,其中的大部分内容都配有较为丰富的实现代码。 本书的最大特色是内容丰富翔实、讲解细腻具体,对涉及MFC实现理论的部分均进行了较为深入的剖析,并且对于书中的大部分内容都结合工程实践给出了相应的实现代码,具有很强的针对性,力求让读者通过亲自动手做而掌握使用MFC开发工程的方法,学习尽可能多的知识。同时,对于开发中可能会遇到的问题也都给出了相应的提示或说明。 本书主要定位于初、中级读者,同时也可用作高校相关专业以及培训班的参考教材(要求读者具备C++的基本语法知识)。 目录 第1章 理解MFC程序设计的概念 1 1.1 认识MFC 1 1.1.1 MFC的产生与发展 1 1.1.2 Win32的基本概念 2 1.1.3 MFC与Win32的关系 3 1.2 Win32程序设计概述 3 1.3 MFC程序设计概述 4 1.3.1 MFC特性 4 1.3.2 MFC程序设计思想 5 1.3.3 MFC类库层次 7 1.3.4 MFC的全局函数与宏 7 1.3.5 MFC数据类型 9 1.4 小结 9 第2章 Visual C++集成开发环境 10 2.1 开发环境 10 2.2 IDE菜单介绍 11 2.3 资源与资源编辑器 13 2.3.1 资源编辑器 13 2.3.2 对话编辑器 14 2.3.3 串编辑器 15 2.3.4 加速键编辑器 16 2.3.5 版本信息编辑器 16 2.3.6 图形编辑器 17 2.4 环境变量与编译模式 17 2.4.1 环境变量 17 2.4.2 编译模式 18 2.5 小结 18 第3章 C++特性 19 3.1 封装 19 3.1.1 封装的概念 19 3.1.2 封装的实例 20 3.2 继承 21 3.2.1 继承的概念 21 3.2.2 继承的实例 22 3.3 多态和虚函数 25 3.3.1 多态、虚函数概念 26 3.3.2 多态实例分析 26 3.4 RTTI——运行时类型信息 29 3.4.1 RTTI的基本概念 29 3.4.2 RTTI的实现实例 31 3.5 小结 33 第4章 MFC应用结构 34 4.1 MFC类库 34 4.1.1 CObject类 35 4.1.2 窗口、对话框、控件类 35 4.1.3 设备上下文、图形设备接口类 39 4.1.4 简单数据类型类 39 4.1.5 数组、链表、映射类 42 4.1.6 文件、数据库类 43 4.1.7 Internet和网络类 45 4.1.8 调试和异常类 46 4.1.9 MFC应用结构类 46 4.1.10 CRuntimeClass结构 47 4.1.11 其他类 49 4.2 一个简单的MFC应用程序 49 4.2.1 SDI或MDI应用的生成 49 4.2.2 基于对话框应用的生成 52 4.3 MFC工程的成员类及全局对象 52 4.4 工程中的文件 53 4.4.1 文件一览 53 4.4.2 源文件结构 54 4.4.3 关于文件的补充说明 58 4.5 MFC应用开发 59 4.6 小结 60 第5章 MFC程序的生命期 61 5.1 MFC程序的启动过程 61 5.1.1 工程的生成 61 5.1.2 全局对象的产生 62 5.1.3 应用入口——WinMain函数 62 5.1.4 AfxWinInit——初始化MFC环境 64 5.1.5 InitApplication——内部管理 64 5.1.6 InitInstance——应用的初始化 65 5.2 MFC程序的挂起状态 75 5.2.1 Run——程序挂起 75 5.2.2 空闲处理 78 5.3 MFC程序的终止过程 80 5.4 小结 81 第6章 MFC消息处理 82 6.1 消息分类 82 6.1.1 消息结构 82 6.1.2 队列消息和非队列消息 83 6.1.3 系统消息和自定义消息 83 6.1.4 窗口消息 84 6.1.5 命令消息 84 6.1.6 控件通知 84 6.2 消息的传送 85 6.2.1 消息的寄送 85 6.2.2 消息的发送 86 6.3 消息处理 86 6.3.1 消息的接收 86 6.3.2 窗口过程 87 6.3.3 消息的处理 90 6.3.4 消息反射 99 6.3.5 消息的默认处理 103 6.4 归纳整理 104 6.5 重定向消息 106 6.5.1 子类化 106 6.5.2 重载OnCmdMsg 108 6.5.3 其他重定向技术简介 109 6.6 自定义消息 110 6.7 小结 111 第7章 通用控件 113 7.1 Windows通用控件介绍 113 7.1.1 Windows通用控件 114 7.1.2 窗口类CWnd 115 7.1.3 控件的创建 118 7.1.4 控件的消息 119 7.2 按钮控件和列表框控件 120 7.2.1 按钮控件分类 120 7.2.2 CButton类 121 7.2.3 列表框及其相关的类 123 7.2.4 按钮、列表框控件应用实例 126 7.3 编辑框、组合框和滚动控件 131 7.3.1 编辑框类CEdit类 132 7.3.2 IP地址控件CIPAddressCtrl类 134 7.3.3 组合框类CComboBox/CComboBoxEx 136 7.3.4 微调按钮控件类CSpinButtonCtrl 142 7.3.5 滚动条类CScrollBar 145 7.3.6 滑动块类CSliderCtrl 147 7.3.7 应用实例 150 7.4 列表视图和树形视图 154 7.4.1 列表视图 154 7.4.2 树形视图 160 7.4.3 编程实例 165 7.5 进度条、动画控件和日历控件 169 7.5.1 进度条 170 7.5.2 动画控件 171 7.5.3 日历控件 173 7.6 通用控件综合运用实例 176 7.6.1 实例介绍 176 7.6.2 开发过程 177 7.7 小结 185 第8章 对话框 187 8.1 对话框及MFC相关类 187 8.1.1 对话框与CDialog类 187 8.1.2 工程的创建 188 8.2 模态对话框 188 8.2.1 添加对话框及其类 189 8.2.2 创建模态对话框 190 8.2.3 模态对话框消息循环 195 8.2.4 模态的终结 198 8.2.5 编程实例 200 8.3 非模态对话框 202 8.3.1 添加对话框及其类 202 8.3.2 创建非模态对话框 203 8.3.3 模态对话框与非模态对话框区别 204 8.4 对话框数据交换和验证 205 8.4.1 CDataExchange类简介 205 8.4.2 数据交换和验证 205 8.5 通用对话框 208 8.5.1 颜色选择通用对话框 209 8.5.2 字体选择通用对话框 212 8.5.3 定制打开文件通用对话框 214 8.6 小结 219 第9章 属性表与向导 220 9.1 属性表相关类 220 9.2 CPropertySheet类 220 9.2.1 类简介 221 9.2.2 类CPropertySheet成员一览 221 9.3 CPropertyPage类 222 9.3.1 类简介 222 9.3.2 重要成员函数介绍 222 9.4 属性表创建 225 9.4.1 创建模态属性表 225 9.4.2 创建非模态属性表 225 9.5 应用按钮的处理 226 9.5.1 应用按钮处理方法一——属性表处理 226 9.5.2 应用按钮处理方法二——属性页处理 227 9.6 编程实例 229 9.6.1 工程的创建 229 9.6.2 属性表类编程 230 9.6.3 属性页类编程 231 9.6.4 视图类编程 232 9.6.5 属性表扩展编程 235 9.7 向导 238 9.7.1 向导函数介绍 238 9.7.2 编程实例 239 9.8 小结 242 第10章 菜单、键盘和鼠标 243 10.1 菜单编程 243 10.1.1 菜单基本知识 243 10.1.2 下拉式菜单编程 245 10.1.3 通过代码操纵菜单 247 10.1.4 弹出式菜单编程 251 10.2 键盘处理 253 10.2.1 键盘基础 253 10.2.2 键盘响应 254 10.3 鼠标编程 255 10.3.1 鼠标消息 255 10.3.2 鼠标响应 256 10.3.3 鼠标光标 257 10.3.4 鼠标键盘编程实例 258 10.4 小结 261 第11章 工具栏和状态栏 262 11.1 Windows控制窗口概述 262 11.2 MFC工具栏类及其实现 263 11.2.1 MFC工具栏类CToolBar 263 11.2.2 工具栏的创建 266 11.2.3 工具栏的其他操作 269 11.2.4 工具提示Tooltip 270 11.2.5 工具栏编程实例 272 11.3 MFC状态栏类及其实现 275 11.3.1 MFC状态栏类 275 11.3.2 状态栏的创建 276 11.3.3 状态栏的创建实例 278 11.4 小结 280 第12章 控制条 281 12.1 通用控制条 281 12.1.1 处理控制条的位置 281 12.1.2 控制条的消息分发处理 285 12.1.3 对话条 288 12.1.4 伸缩条 289 12.1.5 通用控制条实例编程 290 12.2 定制控制条 294 12.2.1 定制控制条介绍 294 12.2.2 控制条定制实例 295 12.3 小结 306 第13章 MFC GDI与绘图 307 13.1 GDI和DC相关类 307 13.2 设备上下文 307 13.2.1 设备上下文类型 308 13.2.2 设备上下文MFC类 309 13.2.3 设备上下文操作 312 13.3 GDI对象 313 13.3.1 GDI对象创建过程 313 13.3.2 GDI选择的生命期 314 13.3.3 GDI对象的清除 314 13.4 映射模式 316 13.5 简单GDI对象编程 318 13.6 位图 322 13.6.1 位图概念 322 13.6.2 位图格式 322 13.6.3 位图操作 324 13.7 调色板 327 13.7.1 调色板概念 328 13.7.2 逻辑调色板与系统调色板 328 13.7.3 调色板编程方法 329 13.8 CDib类与位图 330 13.8.1 CDib类声明 331 13.8.2 CDib类实现 332 13.8.3 位图的预览 338 13.8.4 位图的浏览 344 13.9 小结 350 第14章 MFC文件操作 351 14.1 MFC文件相关类 351 14.2 CFile类 351 14.2.1 类简介 351 14.2.2 构造函数及其成员函数分析 352 14.2.3 常见的文件操作函数 353 14.2.4 编程实例 355 14.3 CStdioFile类 360 14.3.1 类简介 360 14.3.2 构造函数及其成员函数分析 360 14.3.3 编程实例 361 14.4 CFileFind类 365 14.4.1 类简介 365 14.4.2 构造函数及其成员函数分析 365 14.4.3 编程实例 368 14.5 CMemFile、CSharedFile类 372 14.5.1 CMemFile类简介 372 14.5.2 CSharedFile类简介 373 14.6 MFC Shell文件操作 373 14.6.1 Shell文件操作函数介绍 373 14.6.2 编程实例 374 14.7 小结 378 第15章 深入Doc与View 380 15.1 MFC文档/视结构 380 15.1.1 文档/视结构简介 380 15.1.2 MFC文档/视类 381 15.1.3 创建工程 381 15.2 文档/视重要函数 381 15.2.1 文档函数 382 15.2.2 视图函数 384 15.3 对象的创建 386 15.3.1 模板对象 386 15.3.2 文档对象 387 15.3.3 框架对象 390 15.3.4 视图对象 391 15.3.5 各对象间的关系 394 15.4 文档读写 395 15.4.1 持久性和串行化概念 395 15.4.2 文件和归档——CArchive 396 15.4.3 CArchive对象的使用 396 15.4.4 使类可串行化 397 15.4.5 串行化实现 398 15.4.6 编程实现 400 15.5 小结 404 第16章 多视 405 16.1 多视基础——窗口分割 405 16.2 CSplitterWnd类 406 16.2.1 类简介 406 16.2.2 Create——创建分割窗口 406 16.2.3 CreateStatic——创建静态分割窗口 408 16.2.4 CreateView——创建窗格 408 16.2.5 SetRowInfo和SetColumnInfo——设置窗格信息 409 16.2.6 OnDrawSplitter——绘制分割窗口特征 410 16.2.7 OnInvertTracker——绘制分割条 411 16.3 视图切换 413 16.4 编程实例 413 16.4.1 工程的创建 413 16.4.2 派生分割窗口类 413 16.4.3 视类编程 415 16.4.4 主框架类编程 417 16.5 小结 420 第17章 MFC打印技术 421 17.1 MFC打印相关类 421 17.2 CPrintInfo结构 421 17.3 默认打印机制 423 17.3.1 “打印”命令消息的映射 424 17.3.2 “打印”命令消息的处理 424 17.4 “打印”相关虚成员 428 17.4.1 OnPreparePrinting——准备打印 428 17.4.2 OnBeginPrinting——开始打印 429 17.4.3 OnPrepareDC——准备设备上下文 429 17.4.4 OnPrint——执行打印 430 17.4.5 OnEndPrinting——结束打印 430 17.5 打印预览 430 17.6 编程实例 431 17.6.1 直接打印 431 17.6.2 “所见即所得”打印 432 17.7 小结 433 第18章 上下文帮助 434 18.1 WinHelp帮助 434 18.1.1 WinHelp帮助文件的制作 434 18.1.2 WinHelp帮助文件的制作实例 436 18.1.3 MFC与WinHelp帮助 439 18.1.4 WinHelp帮助应用实例 442 18.2 HtmlHelp帮助 444 18.3 小结 446 第19章 SQL查询与数据库 447 19.1 SQL语言与数据库概述 447 19.1.1 SQL语言概述 447 19.1.2 数据库概述 447 19.2 SQL查询 448 19.2.1 Access中的SQL查询 448 19.2.2 Select语句简介 449 19.3 数据库开发技术 452 19.3.1 ODBC API/MFC ODBC技术 452 19.3.2 DAO技术 452 19.3.3 OLE DB/ADO技术 452 19.4 MFC ODBC操作数据库 453 19.4.1 MFC ODBC的封装类 453 19.4.2 使用Crecordset操作记录集 456 19.4.3 设置ODBC数据源 462 19.4.4 编程步骤 463 19.5 ADO操作数据库 463 19.5.1 ADO技术特点 464 19.5.2 ADO对象模型 464 19.5.3 ADO接口简介 468 19.5.4 使用Recordset对象 469 19.5.5 编程步骤 472 19.5.6 几种常见的数据源连接方式 474 19.6 小结 474 第20章 ODBC数据库编程——MP3管理系统 475 20.1 实现目标和数据库设计 475 20.1.1 实现目标 475 20.1.2 数据库设计 476 20.2 工程创建 477 20.2.1 菜单和工具栏制作 477 20.2.2 添加位图和图标资源 477 20.2.3 添加对话框资源 478 20.2.4 向工程添加新类 480 20.3 数据库操作准备 481 20.4 常见数据库操作 482 20.4.1 添加记录 482 20.4.2 编辑数据库记录 486 20.4.3 删除数据库记录 488 20.5 数据库查询 491 20.5.1 设置SQL语句 491 20.5.2 递交查询 493 20.5.3 显示查询结果 494 20.5.4 参数化记录集 496 20.6 事务处理 498 20.7 其他内容 499 20.8 小结 500 第21章 ADO数据库编程 501 21.1 实现目标与数据库设计 501 21.1.1 实现目标 501 21.1.2 数据库设计 502 21.2 工程创建 503 21.2.1 菜单和工具栏制作 503 21.2.2 添加位图和图标资源 504 21.2.3 添加对话框资源 504 21.2.4 向工程添加新类 507 21.3 数据库操作准备 507 21.3.1 导入ADO动态连接库 508 21.3.2 初始化OLE/COM库环境 508 21.3.3 连接数据库 508 21.4 ADO中的数据类型 510 21.5 常见数据库操作 512 21.5.1 打开记录集 512 21.5.2 添加数据库记录 513 21.5.3 编辑数据库记录 517 21.5.4 删除数据库记录 520 21.5.5 数据库记录查询 524 21.5.6 关闭记录集和连接 527 21.6 事务处理 528 21.7 小结 528 第22章 MFC Socket编程 529 22.1 WinSock简介 529 22.1.1 Windows Sockets基础 529 22.1.2 Windows Sockets通信 530 22.1.3 Windows Sockets编程特点 530 22.2 MFC类CAsyncSocket和CSocket 531 22.2.1 类简介 531 22.2.2 主要类成员函数介绍 533 22.3 利用CSocket进行无连接的通信 535 22.3.1 通信过程 535 22.3.2 实例编程 536 22.4 利用CSocket进行有连接的通信 539 22.4.1 通信过程 539 22.4.2 实例编程 539 22.5 CSocket阻塞和非阻塞模式 541 22.5.1 阻塞模式 542 22.5.2 非阻塞模式 543 22.6 WinSock运用实例 544 22.6.1 客户端的实现 544 22.6.2 服务器端的实现 548 22.6.3 程序运行结果 551 22.7 小结 552 第23章 MFC与Internet编程 553 23.1 WinInet编程 553 23.1.1 WinInet概述 553 23.1.2 WinInet开发要点 555 23.1.3 WinInet的开发应用 556 23.1.4 WinInet编程实例 559 23.2 ISAPI服务器扩展 563 23.2.1 ISAPI概述 563 23.2.2 MFC提供的ISAPI类 564 23.2.3 使用MFC开发ISA程序 564 23.2.4 MFC开发ISAPI Extensions程序实例 566 23.3 小结 570 第24章 注册表编程 571 24.1 注册表的基本概念 571 24.1.1 注册表文件 571 24.1.2 注册表编辑器 572 24.1.3 注册表的结构 572 24.1.4 注册表的应用 572 24.2 注册表API函数 574 24.3 注册表API函数编程实例 578 24.4 CWinApp实现的注册表函数 584 24.4.1 函数介绍 584 24.4.2 应用开发实例 586 24.5 注册表类CRegKey 590 24.6 创建自己的注册表类CMyRegistry 592 24.6.1 CMyRegistry类简介 592 24.6.2 CMyRegistry类的实现 593 24.6.3 CMyRegistry类的应用 598 24.7 小结 601 第25章 进程和线程 602 25.1 进程和线程的基本概念 602 25.2 进程处理简介 602 25.2.1 进程的创建 603 25.2.2 进程的管理和终止 604 25.3 Win32的线程 605 25.3.1 线程的创建 605 25.3.2 线程的优先级别 606 25.3.3 线程的终止 607 25.3.4 线程的创建、终止实例 607 25.3.5 线程间的通信 613 25.4 线程同步 614 25.4.1 同步对象 615 25.4.2 等待函数 618 25.5 MFC的线程处理 620 25.5.1 类CWinThread 620 25.5.2 MFC线程的创建 621 25.5.3 函数AfxBeginThread 622 25.5.4 线程的结束 624 25.5.5 线程的消息循环 624 25.6 MFC多线程实例 625 25.6.1 实例概述 625 25.6.2 完成实例 625 25.7 小结 628 第26章 MFC动态链接库 629 26.1 DLL基本理论 629 26.1.1 DLL基本概念 629 26.1.2 DLL的分类 630 26.1.3 DLL的工作原理 630 26.2 DLL的编程思想 631 26.2.1 一个简单的DLL 631 26.2.2 导出函数 634 26.2.3 导入函数 635 26.3 访问动态链接库 635 26.3.1 隐式链接 636 26.3.2 显式链接 636 26.4 其他DLL技术 638 26.4.1 DllMain函数 638 26.4.2 DLL文件的查找 640 26.4.3 DLL程序调试 640 26.5 常规MFC DLL 640 26.5.1 静态链接到MFC的常规DLL 640 26.5.2 动态链接到MFC的常规DLL 643 26.5.3 DLL的链接使用 646 26.6 扩展MFC DLL 648 26.6.1 生成DLL 648 26.6.2 链接DLL 650 26.7 小结 651 第27章 调试技术 652 27.1 调试基础 652 27.1.1 调试的概念 654 27.1.2 调试环境的配置 655 27.2 断点的设置和取消 655 27.2.1 Location页——位置 656 27.2.2 Data页——数据 658 27.2.3 Message页——消息 660 27.2.4 断点的取消 660 27.3 控制程序执行 661 27.4 查看工具 661 27.4.1 变量窗口 662 27.4.2 查看窗口 663 27.4.3 寄存器窗口 663 27.4.4 内存窗口 663 27.4.5 调用堆栈 664 27.4.6 反汇编窗口 664 27.4.7 其他 665 27.5 高级调试技术 666 27.5.1 断言宏 666 27.5.2 跟踪宏——TRACE 668 27.5.3 倾印——Dump函数 668 27.6 内存泄漏 669 27.7 小结 670 第28章 异常处理 671 28.1 MFC异常类 671 28.2 异常的使用 672 28.2.1 异常的使用时机 673 28.2.2 异常的捕获和删除 673 28.2.3 异常中对象的销毁 675 28.3 查看异常内容 677 28.4 MFC异常处理 678 28.5 异常的捕获的原则 680 28.6 小结 680 第29章 Visual C++ 2005 MFC编程环境 681 29.1 Visual C++ 2005的特点 681 29.1.1 Visual C++ 2005的新特点 681 29.1.2 MFC库 682 29.1.3 Visual C++ 2005属性窗口 682 29.1.4 应用向导 683 29.1.5 调试工具 684 29.2 Visual C++ 2005开发MFC应用程序 685 29.2.1 创建Windows窗体 686 29.2.2 实现功能开发 686 29.2.3 编译运行 689 29.3 小结 690 第30章 C++/CLI CLR编程 691 30.1 通用语言运行环境(CLR) 691 30.1.1 基本概念 691 30.1.2 MFC与CLR 692 30.2 C++/CLI概述 692 30.2.1 C++/CLI基本概念 692 30.2.2 C++/CLI主要内容 693 30.3 C++/CLI CLR应用程序开发基础 695 30.3.1 .NET框架应用程序的特点 695 30.3.2 CLR项目向导 695 30.4 C++/CLI开发Win表单 697 30.4.1 Win表单开发的一般方法 697 30.4.2 Win表单控件的使用 699 30.4.3 Win表单的文档程序设计 703 30.5 C++/CLI开发Web Service 706 30.6 小结 710 附录A 常见网络资源 711 附录B 术语表 713 |
随便看 |
|
霍普软件下载网电子书栏目提供海量电子书在线免费阅读及下载。