第1章 概述 1
1.1 Windows操作系统的发展历程 2
1.2 Windows 2000的主要特点 3
1.3 常用Windows应用程序开发工具 4
第2章 Windows应用程序编程接口(API) 7
2.1 内核模块 8
2.2 组成 9
2.3 发展 10
第3章 面向对象的程序设计方法 13
3.1 产生与发展 14
3.2 设计的重要特征 15
3.2.1 类及其定义 15
3.2.2 封装 16
3.2.3 继承 17
3.2.4 多态性 18
3.3.1 构造函数和析构函数 20
3.3 VC 20
3.3.2 类成员的外部属性 21
3.3.3 类的友员 22
3.3.4 虚函数 23
3.3.5 MFC类库 24
第4章 应用程序基本结构与运行方式 27
4.1 窗口概念与含义 28
4.1.1 性质 28
4.1.2 外观与组成 29
4.1.3 管理模式 30
4.2 事件驱动模式 30
4.3 消息 33
4.3.1 组成结构 33
4.3.2 分类 34
4.3.3 常用消息 35
4.3.4 消息队列 36
4.4.1 数据类型和数据结构 37
4.4 应用程序基本框架 37
4.4.2 入口函数WinMain 41
4.4.3 窗口函数 46
4.5 窗口示例 47
第5章 应用程序开发步骤 51
5.1 应用程序文件组成 52
5.2 开发应用程序的基本步骤 53
5.3 VC环境下开发步骤 54
5.3.1 采用AppWizard建立应用程序基本框架 55
5.3.2 采用ClassWizard建立消息映射 67
5.3.3 编译 69
第6章 Windows资源 71
6.1 光标,图标和位图资源 72
6.1.1 光标 72
6.1.2 图标 73
6.2.1 菜单外观及组成 74
6.2 菜单与加速键资源 74
6.1.3 位图 74
6.2.2 创建菜单过程 75
6.2.3 操作选项 79
6.2.4 动态创建菜单 82
6.2.5 加速键资源 83
6.2.6 创建菜单及加速键资源 85
6.2.7 基于MFC的菜单操作 88
6.2.8 MFC菜单消息 90
6.2.9 菜单程序示例 92
6.3 对话框资源 98
6.3.1 功能 98
6.3.2 特点 99
6.3.3 分类 100
6.3.4 模态对话框编程方法 100
6.3.5 模态对话框示例 103
6.3.6 非模态对话框编程方法 109
6.3.7 非模态对话框示例 111
6.3.8 基于MFC的对话框编程方法 116
6.3.9 通用对话框 126
6.3.10 通用对话框示例 130
第7章 Windows标准控件 137
7.1 概述 138
7.1.1 分类 138
7.1.2 创建 138
7.1.3 控件与应用程序的消息传递 140
7.1.4 常用窗口操作函数 140
7.1.5 输入焦点 142
7.2 按钮控件 143
7.2.1 类型及特点 143
7.2.2 创建按钮控件 145
7.2.3 按钮控件示例 147
7.3 滚动条控件 153
7.3.1 功能与分类 153
7.3.2 创建滚动条 153
7.3.3 发送滚动条消息 154
7.3.4 常用滚动条操作函数 155
7.3.5 滚动条消息处理模板 157
7.3.6 滚动条编程示例 158
7.4 静态控件 162
7.4.1 特点 162
7.4.2 创建 163
7.4.3 发送静态控件强制消息 164
7.4.4 示例 164
7.5 列表框 168
7.5.1 功能与特点 168
7.5.2 创建 168
7.5.3 列表框和应用程序间传递消息 169
7.5.4 示例 172
7.6 文本框 175
7.6.1 功能与特点 176
7.6.2 创建 176
7.6.3 示例 178
7.7.1 功能与特点 184
7.7 组合框 184
7.7.2 创建 185
7.7.3 组合框与应用程序间消息传递 186
7.7.4 示例 187
7.8 基于MFC的标准控件编程 191
7.8.1 按钮类 191
7.8.2 滚动条类 192
7.8.3 静态控件类 193
7.8.4 列表框类 193
7.8.5 文本框类 194
7.8.6 组合框类 195
7.8.7 标准控件综合示例 195
第8章 通用控件 203
8.1.1 分类及其功能 204
8.1.2 创建 204
8.1 概述 204
8.1.3 通用控件与应用程序间消息传递 205
8.2 窗口控制类通用控件 207
8.2.1 工具栏 207
8.2.2 工具栏提示 210
8.2.3 状态栏 211
8.2.4 综合示例 212
8.3 资源管理类通用控件 221
8.3.1 树形视图 222
8.3.2 列表视图 228
8.4 滚动类通用控件 234
8.4.1 跟踪条控件 234
8.4.2 微调按钮控件 236
8.4.3 示例 239
8.5 基于MFC的通用控件编程方法 243
8.5.1 工具栏类(CToolBar) 243
8.5.2 状态栏类(CStatusBar) 245
8.5.3 树型视图类与树型控件类(CTreeView与CTeeCtrl) 247
8.5.4 列表视图类(ClistView) 248
8.5.5 列表控件示例 249
第9章 图形操作 259
9.1 图形刷新 260
9.1.1 刷新请求 260
9.1.2 系统响应 260
9.1.3 无效区域与无效矩形 261
9.1.4 刷新图形方法 261
9.2 图形设备接口 261
9.2.1 设备无关性 261
9.2.2 设备环境和设备描述表 261
9.2.3 获取设备环境 264
9.3 映射模式 266
9.3.1 概念 266
9.3.2 设置 266
9.3.3 窗口与视口 267
9.3.4 定义窗口与视口 268
9.4.1 画笔 269
9.4 绘图工具与颜色 269
9.4.2 画刷 270
9.4.3 颜色 271
9.5 常用绘图函数 272
9.6 绘图示例 276
9.6.1 使用基本绘图工具与函数 276
9.6.2 设置与使用映射模式 279
9.7.2 内存设备环境 284
9.7 位图 284
9.7.1 概念 284
9.7.3 操作过程 285
9.7.4 应用程序组织方法 287
9.7.5 位图显示示例 288
9.8 基于MFC的图形处理 291
9.8.1 设备环境类CDC 291
9.8.3 虚函数OnDraw 292
9.8.2 GDI派生类 292
9.8.4 视——文档结构 293
9.8.5 MFC图形处理示例 294
第10章 文本输出 303
10.1 设置文本设备环境 304
10.1.1 选用系统字体 304
10.1.2 创建自定义字体 304
10.1.3 设置字体和背景颜色 305
10.2 文本输出过程 306
10.2.1 获取字体信息 306
10.2.2 格式化文本 307
10.2.3 输出文本 308
10.3 文本输出示例 309
10.4 基于MFC的文本输出 312
第11章 文件操作 315
11.1.1 CreateFile函数 316
11.1 常用文件操作函数 316
11.1.2 ReadFile函数 318
11.1.3 WriteFile函数 319
11.1.4 GetFileInformationByHandle函数 319
11.1.5 SearchPath函数 321
11.1.6 SetFilePionter函数 322
11.2 文件操作示例 323
11.3 基于MFC的文件操作编程方法 337
第12章 操作剪贴板 341
12.1 剪贴板数据格式 342
12.2 操作文本剪贴板 342
12.2.1 向剪贴板发送文本 342
12.2.2 获取剪贴板文本 345
12.3 操作位图剪贴板 346
12.4 剪贴板示例 348
第13章 多线程编程 363
13.3 定时器与定时器消息 364
13.2 进程与线程管理 364
13.1 进程与线程概念 364
13.3.1 Setfimer函数 365
13.3.2 KillTimer函数 365
13.3.3 定时器消息 365
13.4 多线程编程方法 366
13.4.1 基本操作 366
13.4.2 线程之间通信 368
13.4.3 多线程编程示例 369
13.5 基于MFC的多线程编程方法 378
13.5.1 调用AfxBeginMessage函数创建线程 379
13.5.2 通过线程类CWinThread创建并操作线程 379
13.6 线程同步 380
13.6.1 问题提出 380
13.5.2 常用解决方案——临界区法 380
第14章 多文档界面 383
14.2 多文档窗口类及层次关系 384
14.1 多文档操作 384
14.3 创建多文档 385
14.4 多文档消息及其处理 387
14.4.1 消息 387
14.4.2 处理 390
14.5 编程示例 391
14.6 基于MFC的多文档应用程序开发 401
14.6.1 通过AppWizard建立多文档应用程序框架 401
14.6.2 通过CMDIChildWnd类操作子文档窗口 402
第15章 动态链接库 405
15.1 概述 406
15.1.1 与静态链接库的区别 406
15.1.2 运行机制 406
15.1.3 典型应用 406
15.2 组成结构 407
15.3 加载方式 409
15.4 使用动态链接库实现数据共享 410
第16章 Internet编程 413
16.1 Internet知识 414
16.1.1 协议 414
16.1.2 地址 415
16.1.3 域名系统 415
16.1.4 协议端口 415
16.2 网络编程接口——Winsock API 416
16.3 Socket编程模型 417
16.3.1 创建并配置Socket 418
16.3.2 创建Socket连接 419
16.3.3 通过Socket执行网络I/O 421
16.3.4 关闭Socket 421
16.4 基于MFC的Internet编程方法 422
16.4.1 Socket创建函数 422
16.4.2 连接建立函数 423
16.4.3 数据发送与接收函数 423
16.4.5 Socket事件处理函数 425
16.4.4 Socket关闭函数 425
16.5 编程示例 426
第17章 数据库编程 443
17.1 ODBC功能与组成结构 444
17.2 结构化查询语言SQL 445
17.2.1 关系数据库的模式结构 445
17.2.2 SQL语法 446
17.3 使用ODBC SDK 449
17.4.1 CDatabase类 452
17.4 MFC ODBC数据库类 452
17.4.2 CRecordSet类 453
17.4.3 CReacordView类 455
17.5 开发MFC数据库应用程序 456
17.5.1 注册数据源 456
17.5.2 建立数据库应用程序框架 459
17.5.3 建立数据库类、记录集类及视类的关联 462
17.5.4 在视类中添加代码实现记录集的操作 464