目录 1
第一章 Windows入门 1
1.1 什么是Windows 1
1.2 历史展望 1
1.2.1 从BIOS 10H软件到Windows软件 2
1.3 Windows是什么 3
1.3.1 标准用户界面 3
1.3.2 多任务 5
1.3.3 内存管理 5
1.3.4 队列输入 6
1.3.5 消息 7
1.3.6 设备的独立性 7
1.3.7 动态连接库 8
1.3.8 “新可执行”格式 9
1.3.9 MS-DOS的应用程序 10
1.4 对窗口的增强 10
1.5 必备的条件 10
1.5.1 Windows工具 11
2.2.1 边界 12
2.2 可视界面 12
2.1 什么是窗口 12
第二章 Windows的概念和术语 12
2.2.2 标题条 13
2.2.3 控制框 13
2.2.4 系统菜单 13
2.2.5 最小化框 13
2.2.9 菜单条 14
2.3 Windows类 14
2.2.10 客户区 14
2.2.8 水平滚动条 14
2.2.7 垂直滚动条 14
2.2.6 最大化框 14
2.4 面向对象式程序设计 15
2.4.1 图标 15
2.4.2 光标 16
2.4.3 插入记号 16
2.4.4 消息框 16
2.4.5 对话框 16
2.4.6 字体 16
2.5 获取消息 18
2.4.9 画刷 18
2.4.7 位图 18
2.4.8 画笔 18
2.5.1 消息格式 19
2.5.2 消息的来源 20
2.5.3 消息的处理 20
2.5.4 消息循环 21
2.6 什么是资源 21
2.7.1 PASCAL调用规程 22
2.8 什么是WINDOWS.H 22
2.7 访问Windows函数 22
2.9 WINDOWS的标识 23
2.10 Windows应用程序的组成 24
2.10.1 C编译器 25
2.10.2 资源编辑器 25
2.10.3 资源编译器 25
2.10.4 连接器 25
2.10.5 NMAKE工具 25
3.1 坐标系统 26
3.1.1 8种映像模式 26
第三章 访问Windows环境 26
3.1.2 设备坐标 27
3.1.3 视口 27
3.1.4 MM_ISOTROPIC和MM_ANISOTROPIC的说明 27
3.1.5 改变缺省坐标 28
3.2 选择初始窗口大小、位置、光标、图标和风格 28
3.3 ShowWindnow函数 37
3.4 SetClassWord函数 38
3.5 虚拟键 39
3.6.3 单选按钮控制 41
3.6.4 复选框控制 41
3.6 控制和对话框 41
3.6.2 按式按钮控制 41
3.6.1 静态控制 41
3.6.5 编辑框 42
3.6.6 列表框 42
3.6.7 滚动条 42
3.7 系统计时器 43
3.7.1 使用定时器 43
3.8 内存 43
3.8.2 内存管理 44
3.8.1 内存分配 44
第四章 编写简单的Windows程序 47
4.1 入门 47
4.1.1 句柄的进一步说明 47
4.2 Windows应用程序的基本组成 48
4.2.1 WinMain函数 48
4.2.2 注册窗口类 48
4.2.3 创建窗口 52
4.2.4 显示及更新窗口 52
4.3 窗口函数 53
4.2.5 消息循环 53
4.3.1 WM_PAINT消息 55
4.4 创建模块定义文件 56
4.5 创建NMAKE文件 57
4.6 联编 58
4.7 怎样使用SWA创建其它的Windows应用程序 59
4.8 创建Include文件 61
4.9 资源文件 62
4.9.1 资源编译器 64
4.10 MAKE的回顾 65
5.1.3 滚动条位置 66
5.1.2 滚动条范围 66
第五章 控制Windows窗口 66
5.1.1 向下的含义 66
5.1 什么是滚动条 66
5.1.4 滚动条类型 67
5.2 怎样使用滚动条编写应用程序 67
5.2.1 Make文件(SCROL) 72
5.2.2 定义文件(SCROL.DEF) 72
5.2.3 文档文件(SCROL.DOC) 72
5.2.4 应用程序文件(SCROL.CPP) 72
5.3 如何使用系统计时器 77
5.3.1 Make文件(TICK) 81
5.3.2 定义文件(TICK.DEF) 81
5.3.3 消息文件(TICK.DOC) 81
5.3.4 应用程序文件(TICK.CPP) 81
5.4 如何创建一个抵押偿还表 84
5.4.1 LOAN Make文件 90
5.4.2 LOAN.DEF模块定义文件 90
5.4.3 LOAN.CPP应用程序文件 90
6.1.1 Microsoft Image Editor的启动 93
第六章 设计图标、光标和位图 93
6.1 使用Windows工具创建图标、光标和位图 93
6.2 使用图标 99
6.2.1 Make文件(ICON) 103
6.2.2 定义文件(ICON.DEF) 103
6.2.3 资源文件(ICON.RC) 103
6.2.4 应用程序文件(ICON.CPP) 103
6.3 使用光标 103
6.4 使用Microsoft NMAKE 106
6.4.1 NMAKE Make文件的创建 106
6.3.2 资源文件(CUR.RC) 106
6.3.3 应用程序文件(CUR.CPP) 106
6.3.1 Make文件及定义文件(CUR及CUR.DEF) 106
6.4.2 NMAKE选项 107
6.4.3 NMAKE的调用 108
6.5 使用资源编译器 108
6.5.1 资源编译器语句 108
6.5.2 使用资源编译器编译 110
7.1 菜单机制 112
7.1.1 什么是菜单 112
第七章 开发菜单和键加速器 112
7.1.2 菜单关键字和选项 113
7.2 随时创建菜单 117
7.2.1 创建菜单来改变图形的尺寸 117
7.2.2 用菜单改变背景颜色 122
7.2.3 用菜单决定系统信息 130
7.2.4 用菜单查看目录表列 138
7.3 总结 146
第八章 数据输入对话框 147
8.1 对话框简介 150
8.2.2 使用Microsoft对话框编辑器 151
8.2 对话框编辑器 151
8.2.1 为何要使用对话框编辑器 151
8.2.3 使用编辑器进行编辑 154
8.2.4 创建一个对话框 155
8.2.5 检查.DLG文件 156
8.3 为各种需要创建对话框 157
8.3.1 创建一个简单的About对话框 157
8.3.2 用一个对话框改变图形形状 164
8.3.3 通过对话框输入文本 174
8.3.4 用对话框输入整型数 183
8.3.5 用对话框输入实型的数字 191
8.4 创建消息框 200
第九章 字体的使用 207
9.1 字体的结构和定义 207
9.1.1 逻辑字体常数 207
9.1.2 TEXTMETRIC结构 209
9.1.3 LOGFONT结构 210
9.1.4 字符单元 210
9.2.2 自动引导和压缩字距磅 212
9.2.3 OEM与ANSI字符集相比较 212
9.2.1 字体宽度 212
9.2 字体附加的特性 212
9.2.4 逻辑字体与物理字体 214
9.2.5 向量字体与光栅字体 214
9.2.6 生成字体 214
9.3 字体的类型 214
9.3.1 缺省字体 214
9.3.2 打印机字体和显示字体 214
9.4 字体映射方法 215
9.5 字体编辑器的使用 215
9.3.3 Custom字体 215
9.5.1 如何装入字体编辑器 216
9.5.2 基本的字体编辑器窗口 216
9.5.3 如何改变字体头 218
9.5.4 如何定制字体 219
9.5.5 如何存储Custom字体设计 220
9.5.6 如何生成一个字体源文件 220
9.6 字体程序 221
9.6.1 CreateFont 函数 221
9.6.3 FONT1程序 222
9.6.2 CreateFontIndirect函数 222
9.6.4 FONT1文件 225
9.6.5 FONT1.DEF文件 225
9.6.6 FONT1.CPP文件 225
9.6.7 FONT2程序 226
9.6.8 FONT2和FONT2.DEF文件 230
9.6.9 FONT2.CPP文件 231
9.6.10 FONT3程序 231
9.6.11 FONT3及FONT3.DEF文件 234
9.6.12 FONT3.CPP文件 234
9.6.13 FONT4程序 235
9.6.14 FONT4及FONT4.DEF文件 238
9.6.15 FONT4.CPP文件 238
9.7 更好的字体 239
第十章 图形概念和绘图元语 240
10.1 图形设备接口 240
10.1.1 GDI的用途 240
10.1.2 像素操作 240
10.1.3 设备信息 240
10.1.5 映射方式 244
10.1.4 设备场境句柄 244
10.2 GDI绘图元语 245
10.2.1 图形元语 245
10.2.2 GDI绘图元语的使用 251
10.2.3 简单的条形图 255
10.3 GDI工具 259
10.3.1 画笔 259
10.3.2 画刷 260
10.3.3 简单的条形图再述 261
10.3.4 颜色 265
10.3.5 位图 274
第十一章 科学图和数学图的绘制 279
11.1 正弦波 279
11.2 衰减正弦波 283
11.3 一个傅立叶级数 289
第十二章 饼形图、条形图和线图的设计 299
12.1 调色板管理程序 299
12.1.1 逻辑调色板的开销 299
12.2 饼形图 301
12.2.2 PIE.H头文件 309
12.2.1 PIE文件和PIE.DEF文件 309
12.2.3 PIE.RC资源文件 310
12.2.4 PIE.CPP程序 310
12.3 条形图 313
12.3.1 BAR文件和BAR.DEF文件 325
12.3.2 BAR.H头文件 325
12.3.3 BAR.RC资源文件 325
12.3.4 BAR.CPP程序 326
12.4 线图 328
12.4.1 LINE文件和LILNE.DEF文件 341
12.4.3 LINE.RC资源文件 342
12.4.4 LINE.CPP程序 342
12.4.2 LINE.H头文件 342
12.5 关于三大程序的变化 346
第十三章 专用应用程序:带多媒体声音的草图、动画和屏幕保存程序 347
13.1 草图绘制:带多媒体声音的鼠标速写 347
13.1.1 SKCH文件 356
13.1.2 SKCH.CPP代码 356
13.2 动画:火车1 357
13.3 动画:带多媒体声音的火车2 363
13.4 屏幕保存程序:一个带多媒体声音的屏幕保存程序 369
13.4.1 SAVER文件 370
13.4.2 SAVER应用程序代码 376
13.5 重要的是实践 377
第十四章 为面向对象窗口程序开发,MICROSOFT基础类库简述 378
14.1 类库合理性 378
14.2 考虑MICROSOFT基础类库的设计 379
14.3 重要的Microsoft基础类库特性 379
14.4 COBJECT:全部类库应用程序的基础 380
14.5 重要的Microsoft基础类库类 382
14.6 简单的基础类例子 382
14.6.1 使用EASY.CPP建立一个窗口 383
14.6.3 CWinApp:派生的CTheApp类 384
14.6.2 AFXWiN.H头文件 384
14.6.4 CFrameWnd:应用程序窗口 386
14.6.5 InitInstance:使用一个成员函数 387
14.6.6 构造函数 387
14.6.7 测试EASY应用程序 387
14.7 一个简单的Microsoft基础类库应用程序 387
14.7.1 MFCA Make文件说明 390
14.7.2 MFCA.DEF模块定义文件说明 391
14.7.3 MFCA.H头文件说明 391
14.7.4 MFCA.CPP说明 392
14.8 图形元语 393
14.7.5 MFCA应用程序说明 393
14.8.1 GDI Make文件、GDI.DEF模块定义文件和GDI.H头文件 398
14.8.2 GDI.CPP说明 398
14.8.3 GDI应用程序说明 399
第十五章 用资源开发Microsoft C++基础类库应用程序 401
15.1 给科学图表添加资源:菜单、对话框和多媒体声音 401
15.1.1 FOUR Make文件和FOUR.DEF模块定义文件 409
15.1.2 FOUR.H头文件 409
对话脚本文件 410
15.1.3 FOURR.H资源头文件,FOUR.RC资源脚本文件和FOUR.DLG 410
15.1.4 FOUR.CPP应用程序文件 412
15.1.5 创建定制的CMainWnd类 412
15.1.6 获得Windows的当前大小 413
15.1.7 绘制傅立叶波形 413
15.1.8 创建“关于”对话框 415
15.1.9 数据输入对话框 415
15.1.10 响应OnExit 416
15.1.11 消息映射处理 416
15.1.12 运行FOUR应用程序 416
15.2 给条形图添加资源:一个菜单和一个对话框 418
15.2.1 BAR命令行Make文件,BAR.MAK工程Make文件, BAR.DEF模块定义文件 432
15.2.2 BAR.H头文件 432
15.2.3 BARR.H资源头文件.BAR.RC资源脚本文件.BAR.DLG对话脚本文件 432
15.2.4 BAR.CPP应用程序文件 433
15.2.5 测试BAR应用程序 438
附录A Windows API函数和Microsoft基础类库项目 440
附录B Visual C++集成环境用法 517
B.1 进入Visual Workbench环境 517
B.1.1 主菜单分类 517
B.1.2 书写新的应用程序 529
B.1.3 编辑应用程序 531
B.1.4 拷贝、剪切和粘贴(Copying,Cutting和Pasting) 532
B.2 编译和连接 534
B.2.1 在Visual Workbench内工作 534
B.2.2 在DOS命令行下工作 535
B.3 使用Microsoft帮助系统 536
B.3.1 程序语句帮助 536
B.3.2 其他帮助特性 536
B.4.1 Project...(工程选项) 538
B.4 设置重要的Options选项 538
B.3.3 打印帮助信息 538
B.4.2 调试选项 543
B.4.3 目录选项 543
B.4.4 编辑器选项 545
B.4.5 Workspace选项 545
B.4.6 工具选项 547
B.4.7 颜色选项 548
B.4.8 字体选项 550
B.4.9 TOOLS.INI文件 550
附录C WINDOWS.H头文件 552