精通MFC程序设计[电子资源.图书]

副标题:无

作   者:姚领田编著

分类号:

ISBN:9787115149138

微信扫一扫,移动浏览光盘

简介

全书由浅入深、循序渐进地介绍了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

已确认勘误

次印刷

页码 勘误内容 提交人 修订印次

精通MFC程序设计[电子资源.图书]
    • 名称
    • 类型
    • 大小

    光盘服务联系方式: 020-38250260    客服QQ:4006604884

    意见反馈

    14:15

    关闭

    云图客服:

    尊敬的用户,您好!您有任何提议或者建议都可以在此提出来,我们会谦虚地接受任何意见。

    或者您是想咨询:

    用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问

    Video Player
    ×
    Audio Player
    ×
    pdf Player
    ×
    Current View

    看过该图书的还喜欢

    some pictures

    解忧杂货店

    东野圭吾 (作者), 李盈春 (译者)

    亲爱的云图用户,
    光盘内的文件都可以直接点击浏览哦

    无需下载,在线查阅资料!

    loading icon