第一章 Windows和Windows NT介绍 1
1.1 什么是Windows 1
1.2 Windows的功能 1
目录 1
1.2.1 标准的用户界面 2
1.2.2 多任务 2
1.2.3 内存管理 2
1.2.4 队列输入 3
1.2.5 消息 3
1.3 Windows的特征 4
1.2.6 设备的独立性 4
1.2.7 动态连接库 4
1.4 Windows的概念和术语 5
1.4.1 一个窗口的定义 5
1.4.2 可视界面 5
1.4.3 窗口类 7
1.4.4 面向对象的程序设计 7
1.4.5 消息传递 10
1.4.7 Windows.h头文件 13
1.4.6 使用Windows函数 13
1.5 创建一个Windows程序的步骤 14
1.6 必备的条件 15
1.6.1 关于Windows工具 15
第二章 资源和资源编译器 17
2.1 Windows资源 17
2.2 使用Borland Resource Workshop(BRW) 18
2.2.1 创建图标、光标和位图 18
2.2.2 定制图标和定制光标 21
2.2.4 菜单结构 22
2.2.3 怎样创建菜单 22
2.2.5 怎样使用对话框输入数据 25
2.2.6 对话框编辑器 26
2.3 从命令行中使用资源编译器RC 32
2.3.1 资源语句 33
2.3.2 单行语句语法 34
2.3.3 编译资源 34
3.1 坐标系统 36
3.1.1 8种映像模式 36
第三章 访问Windows环境 36
3.1.2 设备坐标 37
3.1.3 视口 37
3.1.4 MM_ISOTROPIC和MM_ANISOTROPIC的说明 37
3.1.5 改变缺省坐标 38
3.2 选择初始窗口大小、位置、光标、图标和风格 38
3.3 ShowWindow函数 47
3.4 SetClassWord函数 48
3.5 虚拟键 49
3.6.3 单选按钮控制 51
3.6.4 复选框控制 51
3.6 控制和对话框 51
3.6.2 按式按钮控制 51
3.6.1 静态控制 51
3.6.5 编辑框 52
3.6.6 列表框 52
3.6.7 滚动条 52
3.7 系统计时器 53
3.8 内存 53
3.8.2 内存管理 54
3.8.1 内存分配 54
第四章 编写简单的Windows程序 57
4.1 入门 57
4.2 Windows应用程序的基本组成 58
4.2.1 WinMain函数 58
4.2.2 注册窗口类 58
4.2.3 创建窗口 62
4.2.4 显示及更新窗口 62
4.2.5 消息循环 62
4.3 窗口函数 63
4.4 创建模块定义文件 66
4.5 创建MAKE文件 67
4.6 联编 68
4.7 怎样使用SWA创建其它的Windows应用程序 69
4.8 创建Include文件 71
4.9 资源文件 72
4.10 MAKE的回顾 75
5.1.3 滚动条位置 76
5.1.2 滚动条范围 76
5.1.1 向下的含义 76
5.1 什么是滚动条 76
第五章 控制Windows窗口 76
5.1.4 滚动条类型 77
5.2 怎样使用滚动条编写应用程序 77
5.2.1 Make文件(SCROL.MAK) 82
5.2.2 定义文件(SCROL.DEF) 82
5.2.3 文档文件(SCROL.DOC) 83
5.2.4 应用程序文件(SCROL.CPP) 83
5.3 如何使用系统计时器 87
5.3.1 MAKE文件(TICK.MAK) 91
5.3.2 定义文件(TICK.DEF) 91
5.3.3 消息文件(TICK.DOC) 91
5.3.4 应用程序文件(TICK.CPP) 91
5.4 如何创建一个抵押偿还表 94
5.4.1 LOAN.MAK Make文件 100
5.4.2 LOAN.DEF模块定义文件 101
5.4.3 LOAN.CPP应用程序文件 101
6.1 使用Windows工具创建图标、光标和位图 104
第六章 设计图标、光标和位图 104
6.2 使用图标 108
6.2.1 Make文件(ICON.MAK) 111
6.2.2 定义文件(ICON.DEF) 111
6.2.3 资源文件(ICON.RC) 111
6.2.4 应用程序文件(ICON.CPP) 111
6.3 使用光标 111
6.3.2 资源文件(CUR.RC) 114
6.3.3 应用程序文件(CUR.CPP) 114
6.3.1 Make文件及定义文件(CUR.MAK及CUR.DEF) 114
6.4 使用Borland Make 115
6.5 使用资源编译器 116
6.5.1 资源编译器语句 116
6.5.2 使用资源编译器编译 118
6.5.3 与Borland Resource Workshop兼容的资源 119
第七章 开发菜单和键加速器 120
7.1 菜单机制 120
7.1.1 什么是菜单 120
7.1.2 菜单关键字和选项 121
7.2.1 创建菜单来改变图形的尺寸 125
7.2 随时创建菜单 125
7.2.2 用菜单改变背景颜色 130
7.2.3 用菜单决定系统信息 138
7.2.4 用菜单查看目录表列 145
7.3 总结 155
第八章 数据输入对话框 156
8.1 对话框简介 159
8.2.1 为何要Dialog Editor 160
8.2.2 使用BorlandDialog Editor 160
8.2 Resource Workshop 160
8.2.3 创建一个对话框 162
8.2.4 查看.DLG文件 163
8.3 为各种需要创建对话框 165
8.3.1 创建一个简单的About对话框 165
8.3.2 用一个对话框改变图形形状 172
8.3.3 通过对话框输入文本 183
8.3.4 用对话框输入整型数 191
8.3.5 用对话框输入实型的数字 201
8.4 创建消息框 209
9.1.1 逻辑字体常数 216
第九章 字体的使用 216
9.1 字体的结构和定义 216
9.1.2 TEXTMETRIC结构 218
9.1.3 LOGFONT结构 219
9.1.4 字符单元 219
9.2 字体附加的特性 221
9.2.1 字体宽度 221
9.2.2 自动引导和压缩字距磅 221
9.2.3 OEM与ANSI字符集相比较 221
9.3 字体的类型 223
9.3.2 打印机字体和显示字体 223
9.3.1 缺省字体 223
9.2.4 逻辑字体与物理字体 223
9.2.6 生成字体 223
9.2.5 向量字体与光栅字体 223
9.3.3 Custom字体 224
9.4 字体映射方法 224
9.5 字体编辑器的使用 224
9.5.2 基本的字体编辑器窗口 225
9.5.1 如何装入字体编辑器 225
9.5.3 如何改变字体头 226
9.5.4 如何定制字体 227
9.5.5 如何存储Custom字体设计 229
9.5.6 如何生成一个字体源文件 229
9.6 字体程序 230
9.6.1 CreateFont函数 230
9.6.2 CreateFontIndirect函数 231
9.6.3 FONT1程序 231
9.6.4 FONT1.MAK文件 234
9.6.6 FONT1.CPP文件 235
9.6.5 FONT1.DEF文件 235
9.6.7 FONT2程序 236
9.6.8 FONT2.MAK和FONT2.DEF文件 240
9.6.9 FONT2.CPP文件 240
9.6.10 FONT3程序 240
9.6.11 FONT3.MAK及FONT3.DEF文件 244
9.6.12 FONT3.CPP文件 244
9.6.13 FONT4程序 244
9.6.15 FONT4.CPP文件 248
9.6.14 FONT4.MAK及FONT4.DEF文件 248
9.7 更好的字体 249
第十章 图形概念和绘图元语 250
10.1 图形设备接口 250
10.1.1 GDI的用途 250
10.1.2 象素操作 250
10.1.3 设备信息 250
10.1.4 设备场境句柄 254
10.1.5 映射方式 254
10.2.1 图形元语 255
10.2 GDI绘图元语 255
10.2.2 GDI绘图元语的使用 260
10.2.3 简单的条形图 264
10.3 GDI工具 268
10.3.1 画笔 269
10.3.2 画刷 270
10.3.3 简单的条形图再述 271
10.3.4 颜色 275
10.3.5 位图 285
第十一章 科学图和数学图的绘制 290
11.1 正弦波 290
11.2 衰减正弦波 294
11.3 一个傅立叶级数 300
第十二章 饼形图、条形图和线图的设计 311
12.1 调色板管理程序 311
12.2 饼形图 313
12.2.4 PIE.CPP程序 322
12.2.3 PIE.RC资源文件 322
12.2.2 PIE.H头文件 322
12.2.1 PIE.MAK文件和PIE.DEF文件 322
12.3 条形图 325
12.3.1 BAR.MAK文件和BAR.DEF文件 337
12.3.2 BAR.H头文件 338
12.3.3 BAR.RC资源文件 338
12.3.4 BAR.CPP程序 338
12.4 线图 340
12.4.1 LINE.MAK文件和LINE.DEF文件 353
12.4.4 LINE.CPP程序 354
12.4.2 LINE.H头文件 354
12.4.3 LINE.RC资源文件 354
12.5 关于三大程序的变化 356
第十三章 专用应用程序:带多媒体声音的草图、动画和屏幕保存程序 358
13.1 草图绘制:带多媒体声音的鼠标速写 358
13.1.1 SKCH文件 367
13.1.2 SKCH.CPP应用程序代码 368
13.2 动画:火车1 369
13.3 动画:带多媒体声音的火车B 374
13.4 重要的是实践 381
第十四章 了解Borland的ObjectWindows以便开发面向对象的Windows程序 382
14.1 三个重要的面向对象特征 382
14.1.1 抽象 382
14.1.2 封装 382
14.1.3 消息响应 383
14.2 ObjectWindows对象 383
14.3 一个简单的ObjectWindows应用程序——BSOWA.CPP 385
14.4 从BSOWA.CPP应用程序中建立应用程序 393
14.4.1 如何画一个数学曲线 393
14.4.2 使用Arial True Type字体 396
14.4.3 旋转一个Times New Roman True Type字体 399
14.5 更高级的工作 404
第十五章 用资源文件开发Borland C++ ObjectWindows的应用程序 405
15.1 DRAW:用户图标、光标、菜单和一组键盘加速键的开发 406
15.1.1 DRAW.DEF和DRAW.H文件 411
15.1.2 DRAW.ICO图标 411
15.1.3 DRAW.CUR光标 411
15.1.4 DRAW.RC菜单和键盘加速键 412
15.1.5 DRAW.CPP应用程序代码 413
15.1.6 DRAW应用程序的执行 415
15.2 PIE:简报显示图形程序,带用户图标、光标、菜单及对话框 415
15.2.1 PIE.DEF和PIE.H文件 424
15.2.2 PIE.ICO和PIE.CUR图标和光标 424
15.2.3 C5PIE.RC菜单和对话框资源文件 424
15.2.4 PIE.CPP应用程序代码 426
15.2.5 执行PIE应用程序 431
15.3 EDIT:一个增强型文本编辑器 431
15.3.3 EDIT.RC资源文件 437
15.3.1 EDIT.DEF和EDIT.H文件 437
15.3.2 EDIT.ICO图标 437
15.3.4 EDIT.CPP应用程序代码 438
15.3.5 执行EDIT应用程序 441
第十六章 开发32位Windows NT程序 442
16.1 Windows NT的不同之处 442
16.1.1 Windows NT数据类型和结构 442
16.1.2 特殊句柄 443
16.2 一个简单的应用程序:ntswp 444
16.2.1 对ntswp.c的进一步检查 446
16.2.2 WinMain函数 447
16.2.3 窗口类登记 447
16.2.4 创建一个窗口 449
16.2.5 显示并更新窗口 450
16.2.6 消息循环 450
16.2.7 窗口函数 451
16.2.8 WM_PAINT消息 452
16.2.10 DefWindowsProc 453
16.3 展望 453
16.2.9 WM_DESTROY消息 453
第十七章 资源与32位Windows NT程序 454
17.1 利用资源的应用程序 454
附录A API函数和ObjectWindows类 467
附录B IDE工程管理器 538
B.1 什么是工程管理器 538
B.2 建立一个工程 539
B.2.1 建立一个多任务工程 541
B.2.3 将工程转化为制作文件(makefiles) 542
B.2.2 转换旧的工程 542
B.2.4 改变工程视图 543
B.3 建立一个工程 544
B.4 编辑工程树 546
B.4.1 使用TargetExpert编辑任务属性 546
B.4.2 编辑节点属性 547
B.4.3 增加或删除一个节点 548
B.4.4 增加或删除任务 550
B.4.5 移动节点和任务 550
B.4.6 拷贝节点 551
B.5 使用Source Pool 552
B.6 设置工程选项 553
B.6.1 Local Override 554
B.6.2 使用Style Sheet 555
B.6.3 将一个Style Sheet与一个节点相连 555
B.6.4 生成一个Style Sheet 555
B.6.5 编辑Style Sheet 558
B.6.6 共享Style Sheet 560
B.6.7 查看工程中的选项 561
B.7.1 安装一个转换器 562
B.7 转换器 562
B.7.2 使用SpeedMenu中的Special命令 565
B.7.3 安装观察器和工具 565
附录C Windows.h头文件 568
附录D 移植3.1 OWL 1.0程序到4.0 698
D.1 与Borland C++ 4.0一起使用对象基类库 698
D.2 与Borland C++ 4.0一起使用OWL 1.0 698
D.2.1 重建OWL库 698
D.2.2 使用新的OWL 1.0库 699
D.2.3 新的OWL 1.0 MAKEFILE的内容 700