《Windows 3.1应用程序设计》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:Microsoft著;王敏译;王真审校
  • 出 版 社:北京:学苑出版社
  • 出版年份:1994
  • ISBN:7507709752
  • 页数:306 页
图书介绍:Microsoft著;王敏译;王真审校.Windows3.1应用程序设计.北京:学苑出版社

第零章 简介 1

0.1 欢迎 1

0.2 环境标志 1

0.3 微软大学课程 2

0.4 课程材料 2

0.5 您的期望 3

0.6 课程纲要:第一天 3

0.7 课程纲要:第二天 4

0.8 课程纲要:第三天 5

0.9 课程纲要:第四天 6

第一章 基于Windows的应用程序体系结构 8

1.1 本章内容 8

1.2 窗口概述 9

1.3 讨论:什么是窗口 9

1.4 窗口存在于什么地方 9

1.5 窗口的特性是什么 10

1.6 讨论:什么是窗口的结构 11

1.7 窗口的风格 11

1.8 标识 13

1.9 讨论:什么是类结构 13

1.10 类风格 14

1.11 DefWindowProc如何使用类结构信息 15

1.12 BeginPaint产生WM_ERASEBKGND消息 15

1.13 绘画窗口背景 16

1.14 屏幕如何重新绘画 17

1.15 图标窗口 18

1.16 跟踪客户区的光标 19

1.17 小结:窗口概述 21

1.18 实验一:获取窗口信息 21

1.19 实验二:实现击键测试和SetCursor 22

1.20 实验三:捕捉WM_ERASEBKGND(选做) 22

1.21 Windows消息系统 23

1.22 发送和传递消息 23

1.23 Windows如何安排消息处理 24

1.24 Windows钩过滤消息 25

1.25 小结:Windows消息系统 27

1.26 实验四:完成跟踪消息循环 27

1.27 实验五:实现Windows的钩子 28

1.28 基于Windows的应用程序概述 28

1.29 基于Windows应用程序的基础 29

1.30 应用程序模块、任务和实例 30

1.31 什么是任务库 32

1.32 什么是模块库 33

1.33 演示:观察可执行文件头 34

1.34 Windows如何使用资源 35

1.35 应用程序如何使用系统颜色 35

1.36 .INI文件在应用程序开发环境中的作用 36

1.37 小结:基于Windows的应用程序概述 37

第二章 基于Windows环境的内存管理 38

2.1 本章内容 38

2.2 在Intel处理器上的Windows内存体系结构 39

2.3 Intel处理器上的Windows可用模式 39

2.4 Intel处理器上有限的物理内存 39

2.5 什么是虚拟内存 40

2.6 使用保护模式接口 41

2.7 使用虚拟内存获取386增强模式 42

2.8 页锁定:使段固定在内存 43

2.9 Intel处理器上的多任务 44

2.10 小结:Intel处理器上的Windows内存体系结构 45

2.11 段分配 45

2.12 复习:Windows如何分配段 46

2.13 全局和局部堆 47

2.14 分配全局内存 48

2.15 内存目标的限制 49

2.16 小结:段分配 50

2.17 可抛弃目标和用户自定义资源 50

2.18 使用完数据段空间 51

2.19 可抛弃内存目标 52

2.20 管理资源表 54

2.21 定义用户自定义资源 55

2.22 使用用户自定义资源 56

2.23 使用C定义资源数据 57

2.24 小结:可抛弃的内存块和用户自定义的资源 58

2.25 实验六:实现用户自定义资源 58

2.26 代码段的管理 59

2.27 分解代码段 59

2.28 编译选择缺省代码模式 60

2.29 如何使用大模式 61

2.30 在应用程序中声明代码模式 62

2.31 如何对段进程强制段 63

2.32 如何对段进程控制段 63

2.33 在.DEF文件中指明段属性 64

2.34 小结:管理代码段 65

2.35 实验七:设置应用程序的段 65

第三章 基于Windows环境的多任务 66

3.1 本章内容 66

3.2 消息是如何被处理的 66

3.3 改变GetMessage的行为 67

3.4 允许其他应用程序运行 68

3.5 监听用户输入 69

3.6 Windows的消息循环什么时候得到控制 69

3.7 小结:基于Windows环境的多任务 70

3.8 实验八:观察PeekMessage的功能 71

第四章 优化GDI 72

4.1 本章内容 72

4.2 GDI基础 72

4.3 GDI概述 73

4.4 什么是设备场景 74

4.5 设备场景的内容 74

4.6 显示颜色:逻辑和系统调色板 75

4.7 裁剪区域是客户区中有边界的一块区域 77

4.8 获取DC 78

4.9 小结:GDI概述 79

4.10 修改和显示位图 79

4.11 处理位图的一般过程 80

4.12 获取位图句柄 81

4.13 修改位图 82

4.14 显示位图 83

4.15 什么是光栅操作码(ROP) 83

4.16 演示:计算光栅操作码 84

4.17 小结:修改和显示位图 85

4.18 修改和显示DIB 85

4.19 DIB和位图的差异 86

4.20 DIB文件格式 87

4.21 从DIB中获取位图把柄 87

4.22 显示DIB 88

4.23 如何从位图转化为DIB 89

4.24 如何从DIB转换为位图 91

4.25 小结:优化GDI 93

4.26 实验九:观察BitBlt的功能 93

第五章 处理文本输出 94

5.1 本章内容 94

5.2 什么是字体 94

5.3 TrueType在WYSIWYG中起什么作用 95

5.4 选择字体 96

5.5 检查是否有TrueType 97

5.6 判断字体是否是TrueType 98

5.7 创建字体 99

5.8 优化文本输出:ExtTextOut 100

5.9 优化文本输出:SetTextAlign 101

5.10 小结:处理文本输出 102

5.11 实验十:观察字体映射器 102

5.12 实验十一:优化文本输出 103

第六章 实现DLL 104

6.1 本章内容 104

6.2 DLL概述 105

6.3 什么是DLL 105

6.4 静态和动态链接在连接时的区别 106

6.5 静态和动态链接装入时间的区别 107

6.6 为什么使用动态链接 108

6.7 使用DLL的好处 109

6.8 应用程序如何连接DLL 110

6.9 隐含链接——在.DEF文件中使用IMPORTS 111

6.10 隐含链接——IMPLIB 112

6.11 显式链接 112

6.12 小结:动态链接库概述 113

6.13 建立DLL 114

6.14 DLL的结构 114

6.15 建立过程 115

6.16 在.DEF文件中声明DLL 116

6.17 建立入口点例程——LibEntry 116

6.18 建立入口点例程——LibMain 117

6.19 建立出口点例程——WEP 118

6.20 加入用户自定义初始化和出口点例程 119

6.21 编译DLL 120

6.22 小结:建立DLL 121

6.23 实验十二:把静态库改为DLL 121

6.24 处理有关DLL的问题 122

6.25 在堆栈段中存储变量 122

6.26 C编译在哪儿分配变量 123

6.27 解决SS!=DS冲突 124

6.28 DLL不是任务 125

6.29 获取和存储任务及实例数据 126

6.30 在DLL中使用资源 127

6.31 解决顺序值 128

6.32 通过DLL钩子输出例程 129

6.33 小结:处理有关的DLL问题 130

第七章 处理打印作业 131

7.1 本章内容 131

7.2 打印的脱机信息 131

7.3 分块打印 133

7.4 打印代码概述 134

7.5 设置打印作业 135

7.6 实现取消打印对话框 136

7.7 创建取消过程 138

7.8 传送数据到打印机 139

7.9 清除打印作业 141

7.10 小结:处理打印作业 142

7.11 实验十三:实现打印作业的脱机处理 142

第八章 建立用户自定义菜单 143

8.1 本章内容 143

8.2 菜单概述 143

8.3 菜单模板 144

8.4 使窗口反映应用程序的状态 145

8.5 修改浮动的菜单 146

8.6 通过WM_MENUSELECT实现菜单帮助 147

8.7 使用位图作为菜单项 148

8.8 实现自绘制菜单项 149

8.9 演示:实现用户自定义菜单 150

8.10 小结:建立用户自定义菜单 151

8.11 实验十四:建立用户自定义菜单 151

第九章 建立帮助 152

9.1 本章内容 152

9.2 使用WinHelp 152

9.3 帮助系统概述 153

9.4 设计良好的帮助系统的性能 154

9.5 WinHelp 3.1 的改进 155

9.6 如何建立帮助文件 156

9.7 建立帮助过程 157

9.8 判断文件的结构 158

9.9 判断一个关联标签系统 159

9.10 演示:帮助文件的组成和专业术语 160

9.11 小结:帮助系统概述 161

9.12 创建帮助标题 161

9.13 写标题文本 162

9.14 增加脚注 163

9.15 插入位图 164

9.16 增加连接(一般) 166

9.17 增加跳转:屏幕之间的连接 167

9.18 加入弹出:连接弹出式窗口 168

9.19 演示:使用WHAT 169

9.20 小结:创建帮助主题 172

9.21 创建帮助项目文件 173

9.22 项目文件内容 173

9.23 使用WHPE创建项目文件 175

9.24 小结:创建帮助项目文件 176

9.25 建立和调试帮助文件 176

9.26 保持一定数量的自由硬盘空间 177

9.27 建立选择主题 178

9.28 建立完全的帮助系统 179

9.29 调试帮助文件 180

9.30 小结:建立和调试帮助文件 181

9.31 小结 181

9.32 实验十五:建立帮助文件 182

第十章 建立用户自定义对话框 183

10.1 本章内容 183

10.2 对话框概述 183

10.3 对话窗口类决定了消息处理的位置 184

10.4 对话框的单位 185

10.5 对话框的键盘处理 186

10.6 公共对话框结构 187

10.7 公共对话框的钩子过程 188

10.8 编写公共对话框 189

10.9 封装对话框中的数据 190

10.10 小结:建立用户自定义对话框 191

10.11 实验十六:建立用户自定义公共对话框 191

10.12 实验十七:封装对话框数据 192

第十一章 修改和创建控制框 193

11.1 本章内容 193

11.2 修改已经存在的控制框 193

11.3 复习:如何定义窗口 194

11.4 修改控制框的形状 195

11.5 复习:如何传送消息到窗口 196

11.6 修改控制框的行为 196

11.7 子分类控制框 197

11.8 衍生控制框 198

11.9 使用特性表存储子例程数据 200

11.10 小结:修改已存在的控制框 201

11.11 实验十八:实现WM_CTLCOLOR(选做) 201

11.12 开发用户自定义控制框 202

11.13 设计用户自定义控制框的考虑 202

11.14 封装控制行为 203

11.15 使用多余的字节存储实例数据 204

11.16 在调用入口点初始化数据 205

11.17 小结:开发用户自定义控制框&. 206

第十二章 动态数据交换管理数据库 207

12.1 本章内容 207

12.2 DDE概述 207

12.3 为什么使用DDE 208

12.4 服务器概述 208

12.5 客户概述 209

12.6 DDE会话 210

12.7 演示:DDEML的功能 211

12.8 小结:DDE概述 211

12.9 DDEML概述 212

12.10 用DDEML实现DDE 212

12.11 事务的类型 213

12.12 DDE回调函数 214

12.13 事务类 215

12.14 建立DDEML会晤 216

12.15 小结:DDEML概述 218

12.16 编写DDEML客户 218

12.17 DDEML客户概述 219

12.18 建立全局内存目标 220

12.19 初始化数据事务 221

12.20 获取数据 224

12.21 提供客户回调 225

12.22 小结:编写DDEML客户应用程序 226

12.23 编写DDEML服务器应用程序 226

12.24 DDEML服务器程序概述 227

12.25 承认客户-服务器会晤 228

12.26 传送数据句柄 229

12.27 通知客户数据修改 230

12.28 悬挂事务 231

12.29 提供服务器回调 232

12.30 小结:编写DDEML服务器程序 233

12.31 实验十九:基于Windows应用程序的DDEML 233

附录A 调试Windows应用程序 234

附录B 32位应用程序设计接口 243

附录C Win32操作系统可移植程序设计的考虑 250

实验0 实验 265

实验1 获取窗口信息 267

实验2 实现击键测试和SetCursor 270

实验3 捕捉WM_ERASEBKGND(选做) 272

实验4 完成跟踪消息循环 273

实验5 实现Windows的钩子 275

实验6 实现用户自定义资源 277

实验7 设置应用程序的段 280

实验8 观察PeekMessage的功能 283

实验9 观察BitBlt的功能 284

实验10 观察字体映射器 286

实验11 优化文本输出 288

实验12 把静态库改为DLL 290

实验13 实现打印作业的脱机处理 292

实验14 建立用户自定义菜单 294

实验15 建立帮助文件 295

实验16 建立用户自定义公共对话框 297

实验17 封装对话框数据 299

实验18 实现WM_CTLCOLOR(选做) 300

实验19 实现会话编辑支持 302

实验20 基于Windows应用程序的DDEML 304