《MFC程序开发参考大全》PDF下载

  • 购买积分:20 如何计算积分?
  • 作  者:宋坤,刘锐宁,李伟明编著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2007
  • ISBN:7115164657
  • 页数:714 页
图书介绍:本书是一本以介绍Visual C++ 6.0为主、以Visual C++2005为辅的综合性开发参考手册,书中几乎包含了MFC框架中所有常用类及控件的应用,同时在讲解中结合了大量实用而又有代表性的示例。全书共分19章,包括:MFC应用程序概述、C++面向对象开发、消息映射与命令处理、对话框程序设计、MFC通用控件、菜单、工具栏与状态栏设计、GDI绘图、文档、视图结构程序设计、MFC打印技术、文件与注册表操作、数据库编程、系统内核对象、MFC链接库、串口程序开发、网络程序开发、Internet程序开发、程序调试与异常处理、Visual C++2005介绍、C++托管扩展编程。书中各部分技术由浅入深、逐步让读者掌握MFC编程的知识、方法和技巧,是Visual C++爱好者、学习者和开发人员必备的参考书。本书附有配套光盘。光盘提供了书中示例的全部源代码,所有源代码都经过精心调试,在Windows 2000下全部通过,保证能够正常运行。

第1章 MFC应用程序概述 1

1.1 Windows应用程序概述 2

1.2 消息 2

1.2.1 消息结构 3

1.2.2 消息类型 3

1.2.3 消息队列 4

1.2.4 消息循环 6

1.3 程序的进入点——WinMain函数 6

1.4 窗口的诞生 7

1.4.1 窗口类 7

1.4.2 注册窗口类 9

1.4.3 创建窗口 9

1.4.4 显示窗口 10

1.4.5 开发原生Win32应用程序 10

1.5 MFC程序开发概述 15

1.5.1 MFC类库的产生与发展 15

1.5.2 MFC类库层次 15

1.5.3 MFC常用数据类型 15

1.5.4 MFC全局函数 15

1.5.5 开发基于MFC的应用程序 20

1.6 Visual C++ 6.0集成开发环境 24

1.6.1 开发环境 24

1.6.2 菜单介绍 32

1.6.3 定制自己的开发环境 36

第2章 C++面向对象程序开发 47

2.1 类和对象概述 48

2.2 类的定义 48

2.3 类成员的访问 48

2.4 构造函数和析构函数 49

2.4.1 构造函数 49

2.4.2 析构函数 52

2.5 方法重载和运算符重载 53

2.5.1 方法重载 53

2.5.2 运算符重载 54

2.6 虚函数 56

2.7 this指针 62

2.8 继承 64

2.8.1 单继承 64

2.8.2 多继承 65

2.8.3 虚继承 69

2.9 静态数据成员和静态方法 70

2.9.1 静态数据成员 70

2.9.2 静态方法 72

2.10 友元类和友元函数 73

2.10.1 友元类 73

2.10.2 友元函数 75

2.11 头文件的重复引用 76

第3章 消息映射与命令处理 81

3.1 消息映射概述 82

3.1.1 窗口函数程序设计的缺点 82

3.1.2 消息映射的产生 83

3.2 消息映射表 83

3.2.1 消息映射表的数据结构 83

3.2.2 消息映射表的构成 85

3.3 消息映射宏 87

3.3.1 Windows消息映射宏 87

3.3.2 命令消息映射宏 91

3.3.3 控件通知消息映射宏 92

3.3.4 通知消息映射宏 94

3.3.5 反射消息映射宏 95

3.3.6 扩展消息映射宏 96

3.4 窗口消息处理 96

3.4.1 MFC中的窗口函数 96

3.4.2 普通窗口消息处理 101

3.4.3 命令消息处理 105

3.4.4 通知消息处理 109

3.4.5 反射消息处理 109

第4章 对话框程序设计 113

4.1 对话框设计 114

4.1.1 对话框资源设计 114

4.1.2 对话框属性窗口 115

4.2 对话框的创建与显示 117

4.2.1 对话框基类(CDialog) 117

4.2.2 模态对话框 118

4.2.3 非模态对话框 119

4.3 对话框中子控件的访问 120

4.3.1 控件的访问 120

4.3.2 控件的命名 121

4.3.3 遍历对话框中的控件 123

4.4 对话框与子控件的消息处理 124

4.4.1 编写对话框消息处理函数 124

4.4.2 编写控件消息处理函数 125

4.4.3 消息处理函数的共享 126

4.5 对话框数据交换与验证 127

4.5.1 数据交换 127

4.5.2 数据验证 128

4.6 属性表单 130

4.6.1 属性表单概述 130

4.6.2 属性表单类 130

4.6.3 创建属性表单 133

4.7 对话栏 134

4.7.1 对话栏概述 134

4.7.2 对话栏主要方法 134

4.7.3 对话栏应用 134

4.8 通用对话框 136

4.8.1 文件对话框 136

4.8.2 查找\替换对话框 140

4.8.3 打印对话框 143

4.8.4 颜色对话框 145

4.8.5 字体对话框 147

4.8.6 定制通用对话框 150

第5章 MFC通用控件 153

5.1 静态文本控件(Static Text) 154

5.1.1 静态文本控件属性窗口 154

5.1.2 静态文本控件的主要方法、事件 155

5.1.3 静态文本控件应用 156

5.2 编辑框控件(Edit Box) 157

5.2.1 编辑框控件属性窗口 157

5.2.2 编辑框控件的主要方法、事件 158

5.2.3 编辑框控件应用 161

5.3 列表框控件(List Box) 161

5.3.1 列表框控件属性窗口 161

5.3.2 列表框控件的主要方法、事件 162

5.3.3 列表框控件应用 164

5.4 组合框控件(Combo Box) 165

5.4.1 组合框控件属性窗口 165

5.4.2 组合框控件的主要方法、事件 165

5.4.3 组合框控件应用 167

5.5 按钮控件(Button) 168

5.5.1 按钮控件属性窗口 168

5.5.2 按钮控件的主要方法、事件 168

5.5.3 按钮控件应用 170

5.6 滚动条控件(Scroll Bar) 171

5.6.1 滚动条控件属性窗口 172

5.6.2 滚动条控件的主要方法、事件 172

5.6.3 滚动条控件应用 173

5.7 进度条控件(Progress) 177

5.7.1 进度条控件属性窗口 177

5.7.2 进度条控件的主要方法、事件 177

5.7.3 进度条控件应用 178

5.8 多媒体控件(Animate) 179

5.8.1 多媒体控件属性窗口 179

5.8.2 多媒体控件的主要方法、事件 179

5.8.3 多媒体控件应用 180

5.9 列表视图(List Control) 180

5.9.1 列表视图控件属性窗口 181

5.9.2 列表视图控件的主要方法、事件 181

5.9.3 列表视图控件应用 186

5.10 树视图控件(Tree Control) 188

5.10.1 树视图控件属性窗口 188

5.10.2 树视图控件的主要方法、事件 189

5.10.3 树视图控件应用 193

5.11 时间控件(Date Time) 195

5.11.1 时间控件属性窗口 195

5.11.2 时间控件的主要方法、事件 195

5.11.3 时间控件应用 196

5.12 日历控件(Month) 197

5.12.1 日历控件属性窗口 197

5.12.2 日历控件的主要方法、事件 198

5.12.3 日历控件应用 199

5.13 标签控件(Tab Control) 200

5.13.1 标签控件属性窗口 200

5.13.2 标签控件的主要方法、事件 200

5.13.3 标签控件应用 202

5.14 图像列表控件(CimageList) 203

5.14.1 图像列表控件的主要方法 203

5.14.2 图像列表控件应用 205

第6章 菜单、工具栏与状态栏设计 207

6.1 菜单设计 208

6.1.1 菜单类CMenu 208

6.1.2 菜单资源设计 212

6.1.3 菜单的显示与命令处理 213

6.1.4 动态创建菜单 214

6.1.5 菜单项的更新机制 217

6.1.6 自绘弹出式菜单 218

6.2 工具栏设计 222

6.2.1 工具栏类CToolBar 222

6.2.2 工具栏资源设计 225

6.2.3 工具栏的命令处理 226

6.2.4 动态创建工具栏 227

6.2.5 工具栏按钮的热点效果 229

6.2.6 具有提示功能的工具栏 231

6.2.7 带下拉按钮的工具栏 233

6.2.8 工具栏控制类CToolBarCtrl 236

6.3 状态栏设计 240

6.3.1 状态栏类CStatusBar 240

6.3.2 状态栏的创建 242

6.3.3 在状态栏中显示滚动字幕 243

6.3.4 带进度条的状态栏 244

6.3.5 状态栏控制类CStatusBarCtrl 245

第7章 GDI绘图 247

7.1 设备上下文 248

7.1.1 CDC类 248

7.1.2 CClientDC类 266

7.1.3 CWindowDC类 267

7.1.4 CPaintDC类 268

7.2 GDI对象 269

7.2.1 CPen类 269

7.2.2 CBrush类 271

7.2.3 CFont类 274

7.2.4 CRgn类 277

7.2.5 CBimap类 282

7.2.6 CPalette类 287

7.2.7 GDI对象的生存期 288

7.3 元文件 288

7.3.1 CMetaFileDC类 288

7.3.2 利用元文件保存、打开绘图操作 289

第8章 文档、视图结构程序设计 291

8.1 文档、视图结构概述 292

8.2 开发文档、视图应用程序 292

8.3 文档、视图结构的创建 294

8.3.1 文档模板的创建 294

8.3.2 文档的创建 296

8.3.3 框架与视图的创建 297

8.4 文档模板 298

8.4.1 文档管理器 298

8.4.2 文档模板 301

8.5 文档对象 302

8.5.1 文档对象的主要方法 302

8.5.2 文档对象的序列化 304

8.5.3 文档的初始化 305

8.5.4 文档的命令处理 306

8.5.5 文档的销毁 307

8.6 视图对象 310

8.6.1 视图对象主要方法 310

8.6.2 视图对象的初始化 312

8.6.3 视图的销毁 312

8.7 框架对象 315

8.7.1 框架对象的主要方法 315

8.7.2 框架的初始化 316

8.7.3 框架的命令消息处理 317

8.8 文档、视图结构应用 318

8.8.1 视图窗体分割类CSplitterWnd 318

8.8.2 窗体视图类CFormView 320

8.8.3 其他 322

第9章 MFC打印技术 331

9.1 打印基础知识 332

9.1.1 打印机介绍 332

9.1.2 分辨率 332

9.1.3 映射模式 333

9.2 基于文档、视图结构的打印 335

9.2.1 文档视图的打印流程 335

9.2.2 CPrintInfo结构 341

9.2.3 动态计算页码 342

9.2.4 开发文档、视图结构打印程序 345

9.3 基于对话框程序的打印 347

9.4 在基于对话框的程序中调用文档、视图结构打印 351

9.5 打印控制 355

9.5.1 控制打印方向 355

9.5.2 设置打印纸大小 357

9.5.3 设置打印份数 359

9.6 打印预览 360

9.6.1 在文档、视图结构中自定义打印预览工具栏 361

9.6.2 在对话框程序中实现具有滚动功能的预览窗口 363

第10章 文件与注册表操作 369

10.1 MFC相关文件类 370

10.1.1 CFile类 370

10.1.2 CFileFind类 379

10.1.3 CStdioFile类 381

10.1.4 CMemFile类 383

10.2 读写INI文件 385

10.2.1 INI文件相关函数介绍 385

10.2.2 INI文件应用 387

10.3 读写注册表 392

10.3.1 注册表概述 392

10.3.2 注册表操作函数与CRegKey类 393

10.3.3 注册表应用 402

第11章 数据库编程 413

11.1 ADO技术概述 414

11.2 ADO对象 414

11.2.1 ADO对象的导入 415

11.2.2 连接对象 416

11.2.3 记录集对象 417

11.2.4 命令对象 419

11.3 使用ADO对象开发数据库应用程序 420

11.3.1 ADO智能指针 421

11.3.2 初始化COM环境 421

11.3.3 连接数据库 421

11.3.4 操作数据表 425

11.3.5 使用Execute方法操作数据表 429

11.4 事务应用 432

11.4.1 事务概述 432

11.4.2 事务在应用程序中的应用 432

11.5 其他数据库的应用 433

11.5.1 获得Access数据库结构 433

11.5.2 在程序中执行SQL脚本 436

11.5.3 自动附加SQL Server数据库 439

11.5.4 调用具有输出参数的存储过程 441

11.5.5 备份和还原数据库 443

11.5.6 向数据库中存储图片 446

第12章 系统内核对象 451

12.1 内核对象概述 452

12.1.1 内核对象的定义 452

12.1.2 内核对象的属性 452

12.2 内核对象的创建与关闭 453

12.2.1 创建内核对象 453

12.2.2 关闭内核对象 453

12.3 进程间共享内核对象 453

12.3.1 内核对象句柄的继承 454

12.3.2 改变内核对象句柄的标志 458

12.3.3 复制内核对象句柄 460

12.4 进程 463

12.4.1 进程概述 463

12.4.2 进程的实例句柄 463

12.4.3 进程的环境变量 464

12.4.4 进程的创建 465

12.4.5 进程的运行与终止 467

12.4.6 进程间通信 468

12.5 线程 470

12.5.1 线程概述 470

12.5.2 线程的创建 470

12.5.3 线程的终止 474

12.5.4 MFC对线程的封装 474

12.5.5 线程同步 479

第13章 MFC链接库 491

13.1 链接库概述 492

13.1.1 链接库文件类型 492

13.1.2 静态链接库概述 492

13.1.3 动态链接库概述 492

13.2 静态链接库 492

13.2.1 创建静态链接库 492

13.2.2 访问静态链接库 494

13.2.3 静态链接库的导入 496

13.3 动态链接库 497

13.3.1 MFC动态链接库类型 497

13.3.2 动态链接库的构成 499

13.3.3 创建动态链接库 501

13.3.4 隐式链接加载动态链接库 502

13.3.5 动态加载动态链接库 502

13.3.6 动态链接库的命名改编 504

13.3.7 从动态链接库中导出类 505

13.3.8 从动态链接库中导出对话框窗体对象 509

第14章 串口程序开发&  515

14.1 计算机串口通信概述 516

14.1.1 串口通信的特点 516

14.1.2 串口通信的传输方式 516

14.1.3 通信方式 516

14.2 Windows API串口编程 517

14.2.1 串口API介绍 517

14.2.2 串口文件传输 532

14.3 MSComm控件编程 538

14.3.1 MSComm控件介绍 538

14.3.2 串口聊天程序设计 543

第15章 网络程序开发 545

15.1 网络基础知识 546

15.1.1 计算机网络概述 546

15.1.2 计算机网络的定义、功能及分类 546

15.1.3 网络拓扑结构 546

15.1.4 以太网概述 547

15.1.5 OSI参考模型 547

15.1.6 网络协议 549

15.2 Windows套接字技术 550

15.2.1 套接字概述 550

15.2.2 套接字相关函数 551

15.2.3 MFC对套接字的封装 555

15.3 利用套接字函数开发聊天系统 559

15.3.1 客户端聊天系统程序设计 559

15.3.2 服务器端聊天系统程序设计 562

15.4 开发面向连接的文件传输程序 565

15.4.1 派生套接字 565

15.4.2 文件传输程序设计 567

第16章 Internet程序开发 575

16.1 利用MFC开发Internet程序概述 576

16.2 WinInet编程 576

16.2.1 WinInet API函数 576

16.2.2 MFC对WinInet的封装 584

16.3 IIS编程 604

16.3.1 IIS概述 604

16.3.2 ISAPI介绍 605

16.3.3 MFC对ISAPI的封装 605

16.3.4 开发ISAPI程序 617

16.4 MAPI编程 622

16.4.1 MAPI函数介绍 622

16.4.2 利用MAPI发送电子邮件 628

第17章 程序调试与异常处理 633

17.1 程序调试 634

17.1.1 断点的设置与取消 634

17.1.2 调试窗口 639

17.1.3 内存泄漏 646

17.2 异常处理 647

17.2.1 异常捕捉 647

17.2.2 查看异常信息 648

17.2.3 抛出异常 649

第18章 Visual C++ 2005介绍 651

18.1 Visual C++ 2005特点 652

18.1.1 托管代码和.NET框架 652

18.1.2 类库 652

18.1.3 新的集成开发环境 653

18.2 创建Visual C++ 2005应用程序 657

18.2.1 创建MFC应用程序 657

18.2.2 创建托管Windows窗体应用程序 661

18.2.3 创建ASP.NET Web服务 666

第19章 C++托管扩展编程 673

19.1 C++托管扩展概述 674

19.1.1 什么是C++托管扩展 674

19.1.2 为现有应用程序添加托管支持 674

19.1.3 .Net平台下的托管特性 675

19.2 托管类型 677

19.2.1 值类型和引用类型 677

19.2.2 C++.net基本数据类型 680

19.2.3 对象句柄 681

19.2.4 字符串 681

19.2.5 托管数组 681

19.2.6 托管枚举类型 682

19.2.7 委托 682

19.3 托管类 683

19.3.1 声明托管类 683

19.3.2 虚方法 684

19.3.3 密封方法 686

19.3.4 属性 687

19.3.5 接口 689

19.3.6 序列化 690

19.4 异常捕捉与处理 692

19.4.1 在托管扩展中捕捉异常 692

19.4.2 在托管扩展中引发异常 693

19.5 实例开发 693

19.5.1 项目的创建 693

19.5.2 主窗体设计 694

19.5.3 利用ADO.NET访问数据库 698

19.5.4 系统登录模块设计 701

19.5.5 图书入库管理模块设计 703

19.5.6 图书出库管理模块设计 707

19.5.7 图书入库查询模块设计 711