第一章 简介 1
1.1 为什么使用Windows 1
1.2 开始过程 1
1.2.1 配套读物 1
1.2.2 需要知道些什么 1
1.2.3 工具 2
1.2.4 程序布局 3
1.3 Windows与DOS应用程序 3
1.4 Windows 3.1略览 5
1.4.1 Windows模式 5
1.5 Windows应用程序的组成 5
1.5.1 书写约定 6
1.5.2 Windows程序库 7
1.5.3 Windows函数 7
1.6 窗口描述 8
1.7 组织 8
第二章 第一个Windows应用程序 10
2.1 框图和列表 10
2.2 编译与链接 14
2.3 头文件 15
2.4 WinMain 16
2.5 初始化 18
2.6 生成窗口 19
2.6.1 子窗口 20
2.6.2 弹出窗口 20
2.7 MSG结构 21
2.7.1 消息队列 21
2.7.2 俘获 22
2.7.3 焦点 22
2.8 消息循环 23
2.9 窗口函数 23
2.10 缺省窗口函数 24
2.11 消息的进一步说明 24
2.12 应用程序的退出 25
2.13 模块定义文件 26
2.13.1 模块定义文件的关键字 26
2.13.2 动态链接库(DLL) 28
2.13.3 IMPORTS和EXPORTS示例 28
2.13.4 动态链接范例 29
第三章 内存管理 31
3.1 动态存储管理 39
3.1.1 局部堆 39
3.1.2 全局堆 39
3.2 Windows开销 40
3.3 存储模式 41
3.3.1 小存储模式 41
3.3.2 中存储模式 43
3.3.3 压缩模式 45
3.3.4 大存储模式 48
3.3.5 存储模式与Windows 49
3.4 存在的问题 50
3.5 ToolHelp DLL 56
第四章 键盘和鼠标输入 63
4.1 输入消息 63
4.2 键盘输入 63
4.2.1 键盘消息 63
4.2.2 字符消息 64
4.2.3 键盘举例 66
4.3 鼠标输入 71
4.3.1 鼠标消息 71
4.3.2 鼠标举例 73
4.4 定时器输入 78
4.4.1 定时器消息 78
4.4.2 定时器举例 79
第五章 输出 84
5.1 设备环境 84
5.1.1 设备环境属性 84
5.1.2 设备环境类型 86
5.1.3 显示环境类型 86
5.2 WM_PAINT消息 87
5.2.1 起源 87
5.2.2 处理消息 88
5.3 输出函数 89
5.3.1 文本函数 89
5.3.2 基本图形函数举例 97
5.4 绘图工具 109
5.4.1 使用工具 109
5.4.2 画笔 110
5.4.3 刷子 111
5.4.4 字体 118
5.4.5 字体工具举例 121
第六章 打印 127
6.1 打印机设置 129
6.1.1 创建打印机设备环境 129
6.1.2 WIN.INI文件中其它与打印机有关的信息 132
6.2 打印 134
6.2.1 起始与结束 135
6.2.2 Abort对话框 139
6.2.3 打印函数举例 141
6.2.4 分段 152
6.3 打印机驱动程序 154
6.3.1 打印机纸格式 154
6.3.2 DeviccMode函数 155
6.3.3 DeviccMode函数应用举例 159
6.3.4 ExtDcviccMode函数 167
6.3.5 ExDeviccMode函数应用举例 169
第七章 TrueType字体 177
7.1 WYSIWYG的问题 179
7.1.1 光栅字体与TureType对比 180
7.2 计算机字体技术 183
7.2.1 TrueType字体 184
7.2.2 文本格式 186
7.3 其它的Windows字体特征 188
7.3.1 新的光栅字体集 189
7.3.2 TrueType字体构成的新字符集 189
7.4 利用TrueType字体编程 190
7.4.1 TrueType字体应用实例 195
第八章 资源 205
8.1 资源的类型 205
8.2 图标 207
8.2.1 访问资源文件中的图标示例 208
8.2.2 ICON1.EXE是如何工作的 212
8.2.3 动态图标访问示例 213
8.2.4 ICON2.EXE是怎样工作的 216
8.3 光标 216
8.3.1 使用自定义光标示例 218
8.4 其它单行语句 222
8.4.1 位图 222
8.4.2 字体 223
8.5 串表 223
8.6 菜单 224
8.6.1 资源描述文件中的菜单定义 224
8.6.2 与源文本文件链接 226
8.6.3 激活的消息 226
8.6.4 菜单修改 227
8.6.5 浮动的弹出式菜单 228
8.6.6 定义自己的对号标记 228
8.6.7 菜单示例 229
8.7 键盘加速键 239
8.8 对话框 241
8.8.1 控件 241
8.8.2 创建对话框 243
8.8.3 类型 245
8.8.4 对话框例程 245
8.8.5 调用对话框 246
8.8.6 模态对话框示例 247
8.9 消息框 257
第九章 控件 259
9.1 控件类型概述 259
9.2 作为独立窗口的控件 92
9.2.1 子分类 262
9.3 控件类 264
9.3.1 SCROLLBAR类 276
第十章 滚动条 285
10.1 含滚动条的设计 285
10.1.1 定义滚动条 285
10.1.2 滚动范围和滚动条位置 285
10.1.3 滚动条消息 286
10.1.4 键盘支持 287
10.1.5 滚动 288
10.2 滚动条的例子 289
第十一章 通用对话框 298
11.1 打开和保存文件 300
11.1.1 简单的字处理器 305
11.2 查找和替换文本 312
11.3 查找和替换对话框 318
11.4 字体选择 325
第十二章 映像模式 336
12.1 映像模式的类型 336
12.1.1 与设备相关的模式 337
12.1.2 度量模式 337
12.1.3 定制模式 338
12.2 定制模式的例子 339
第十三章 位图 347
13.1 依赖于设备的位图 347
13.1.1 建立一个位图 347
13.1.2 输出函数 349
13.1.3 进一步了解位图 352
13.1.4 与设备有关的位图的例子 353
13.2 依赖于设备的位图(DIB) 359
13.2.1 DIB结构 360
13.2.2 DIB函数 362
13.2.3 DIB函数示例 364
第十四章 剪贴板 370
14.1 文本格式 370
14.1.1 向剪贴板中拷贝文本 371
14.1.2 从剪贴板中获得文本 371
14.1.3 文本格式示例 372
14.2 位图格式 380
14.2.1 向剪贴板中写一个位图 380
14.2.2 从剪贴板中获得一个位图 380
14.2.3 位图格式示例 381
14.3 关于格式的附加知识 391
14.3.1 剪贴板中的多种格式 391
14.3.2 延迟提交 392
14.3.3 自定义数据格式 393
14.4 剪贴板观察窗 393
14.4.1 剪贴板观察窗示例 395
第十五章 文件管理 400
15.1 MS-DOS文件 400
15.1.1 打开文件 400
15.1.2 关闭文件 402
15.1.3 读文件 402
15.1.4 写文件 402
15.1.5 设置文件指针 402
15.1.6 文件访问示例 403
15.2 初始化文件 414
15.2.1 标准初始化文件 415
15.2.2 建立自己的初始化文件 417
15.2.3 初始化文件示例 417
第十六章 动态链接库 429
16.1 远程函数 429
16.1.1 基本知识 429
16.1.2 入口和出口 430
16.1.3 回调函数 431
16.2 限制 433
16.3 建立DLL 434
16.3.1 源代码 434
16.3.2 资源 435
16.3.3 WEP 435
16.3.4 模块定义文件 435
16.3.5 编译和链接DLL 436
16.3.6 把DLL加到应用程序中 436
16.4 DLL示例 438
16.4.1 访问DLL资源的例子 438
16.4.2 DLL函数访问示例 446
第十七章 帮助系统 455
17.1 Help应用程序 455
17.1.1 文件(File) 456
17.1.2 编辑(Edit) 456
17.1.3 Bookmark 456
17.1.4 Help 456
17.2 生成Help系统 456
17.2.1 规划 457
17.2.2 Help主题文件 458
17.2.3 Help项目文件 464
17.2.4 应用编程 467
17.3 Help系统举例 469
第十八章 多文档界面 479
18.1 MDI应用程序的结构 479
18.2 补充和修改 479
18.2.1 消息循环 480
18.2.2 框架窗口 480
18.2.3 MDI客户窗口 481
18.2.4 MDI子窗口 482
18.3 MDI示例 485
第十九章 系统登录数据库 499
19.1 数据库的结构 499
19.1.1 登录数据库和OLE 502
19.1.2 登录数据库和OLE示例 502
19.1.3 文件管理员支持示例 508
19.1.4 生成新入口 516
第二十章 OLE 518
20.1 Windows下的通信 518
20.1.1 DDE的背景 519
20.1.2 生成一个数据链接 521
20.1.3 主动与被动数据链接 522
20.2 对象嵌入和键接:OLE 522
20.2.1 OLE如何工作 522
20.2.2 重要的OLE概念 523
20.2.3 客户和服务器间的协作 525
20.3 OLE中的客户 525
20.3.1 客户应用程序的能力 525
20.3.2 生成OLE复合文档 527
20.3.3 登录剪贴板格式 528
20.3.4 嵌入OLE对象 530
20.3.5 链接OLE对象 538
20.3.6 绘制OLE对象 543
20.3.7 OLE回调函数 544
20.3.8 客户应用程序示例 545
20.4 对象封装器 569
20.5 OLE流 573
20.5.1 OLESTREAM和OLESTREAMVTBL结构 574
20.5.2 读/写一个OLE流 576
20.5.3 存储和装入一个对象 578
20.6 服务器 579
20.6.1 一般的提示 579
20.6.2 设立一个服务器的必要步骤 581
第二十一章 QuickCase:W 585
21.1 各种开发工具及其用途 585
21.2 使用QuickCase:W 586
21.2.1 概述 586
21.2.2 建立原型 587
21.2.3 注释级别 615
第二十二章 DOS保护模式接口 629
22.1 EMS仿真 629
22.2 VCPI 630
22.3 DPMI 630
22.4 DPMI功能 631
22.4.1 DPMI和31H中断 631
22.5 DPMI和Windows应用程序 632
22.6 汇总 632
22.6.1 中断2FH和实模式 632
22.6.2 中断31H和保护模式 633
第二十三章 Windows API接口函数 643
23.1 消息函数 643
23.1.1 窗口管理员接口 643
23.1.2 窗口创建函数 645
23.1.3 显示和移动函数 648
23.1.4 输入函数 650
23.1.5 硬件函数 652
23.1.6 绘图函数 653
23.1.7 对话函数 655
23.1.8 滚动函数 660
23.1.9 菜单函数 661
23.1.10 数据函数 664
23.1.11 系统函数 665
23.1.12 剪贴板函数 666
23.1.13 出错处理函数 667
23.1.14 插入符函数 668
23.1.15 光标函数 668
23.1.16 过滤函数 669
23.1.17 特征函数 670
23.2 图形设备接口 670
23.2.1 矩形函数 670
23.2.2 设备环境函数 672
23.2.3 绘图工具函数 672
23.2.4 调色板函数 674
23.2.5 绘图属性函数 676
23.2.6 映像函数 677
23.2.7 坐标函数 678
23.2.8 区域函数 679
23.2.9 剪贴函数 682
23.2.10 直线输出函数 683
23.2.11 椭圆和多边形函数 683
23.2.12 位图函数 685
23.2.13 设备无关的位图函数 687
23.2.14 文本函数 689
23.2.15 字体函数 691
23.2.16 元文件函数 692
23.2.17 打印机控制函数 693
23.2.18 打印机换码函数 694
23.2.19 环境函数 694
23.3 系统服务接口 694
23.3.1 模块管理函数 695
23.3.2 内存管理函数 696
23.3.3 段函数 699
23.3.4 操作系统中断函数 701
23.3.5 任务函数 701
23.3.6 资源管理函数 702
23.3.7 串操作函数 704
23.3.8 原子管理函数 706
23.3.9 文件初始化函数 707
23.3.10 通信函数 708
23.3.11 声音函数 710
23.3.12 实用宏指令 711
23.3.13 文件输入/输出函数 713
23.3.14 调试函数 714
23.3.15 优化工具函数 715
23.3.16 应用程序执行函数 715
23.3.17 动态链接库WINMEN32.DLL 716
23.3.18 回调函数 717
23.4 Windows 3.1的API函数 721
23.4.1 一般函数 721
23.4.2 标准对话框函数 725
23.4.3 动态数据交换(DDE)函数 726
23.4.4 拖放函数 730
23.4.5 Lempel-Ziv编码函数 730
23.4.6 对象链接和嵌入(OLE)函数 731
23.4.7 打印机函数 740
23.4.8 登录数据库函数 740
23.4.9 外壳函数 741
23.4.10 降级函数 742
23.4.11 ToolHelp函数 743
23.4.12 TrueType函数 747
23.4.13 版本函数 748
第二十四章 Windows消息 750
24.1 窗口管理消息 750
24.2 初始化消息 753
24.3 输入消息 754
24.4 系统消息 756
24.5 剪贴板消息 757
24.6 系统数据消息 758
24.7 控件消息 759
24.8 按钮控制消息 759
24.9 编辑控件消息 760
24.10 列表框控件消息 763
24.11 组合框控件消息 765
24.12 自画控件消息 768
24.13 通报消息 768
24.13.1 按钮通报码 768
24.13.2 编辑通报码 768
24.13.3 列表框通报码 769
24.13.4 组合框通报码 769
24.14 滚动条消息 769
24.15 非客户区消息 769
24.16 多文档界面消息 771
24.17 DDE消息 772
24.18 Windows 3.1中的新消息 774
第二十五章 Windows数据结构 776