《Windows 3.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 实验二:实现击键测试和SetCursor22

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

第四章 优化GDI72

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 获取DC78

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 修改和显示DIB85

4.19 DIB和位图的差异86

4.20 DIB文件格式87

4.21 从DIB中获取位图把柄87

4.22 显示DIB88

4.23 如何从位图转化为DIB89

4.24 如何从DIB转换为位图91

4.25 小结:优化GDI93

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

第五章处理文本输出94

5.1 本章内容94

5.2 什么是字体94

5.3 TrueType在WYSIWYG中起什么作用95

5.4 选择字体96

5.5 检查是否有TrueType97

5.6 判断字体是否是TrueType98

5.7 创建字体99

5.8 优化文本输出:ExtTextOut100

5.9 优化文本输出:SetTextAlign101

5.10 小结:处理文本输出102

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

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

第六章 实现DLL104

6.1 本章内容104

6.2 DLL概述105

6.3 什么是DLL105

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

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

6.6 为什么使用动态链接108

6.7 使用DLL的好处109

6.8 应用程序如何连接DLL110

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

6.10 隐含链接——IMPLIB112

6.11 显式链接112

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

6.13 建立DLL114

6.14 DLL的结构114

6.15 建立过程115

6.16 在.DEF文件中声明DLL116

6.17 建立入口点例程——LibEntry116

6.18 建立入口点例程——LibMain117

6.19 建立出口点例程——WEP118

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

6.21 编译DLL120

6.22 小结:建立DLL121

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

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 使用WinHelp152

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 演示:使用WHAT169

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 为什么使用DDE208

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实现DDE212

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应用程序的DDEML233

附录A调试Windows应用程序234

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

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

实验0实验265

实验1获取窗口信息267

实验2实现击键测试和SetCursor270

实验3捕捉WM_ERASEBKGND(选做)272

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

实验5实现Windows的钩子275

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

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

实验8观察PeekMessage的功能283

实验9观察BitBlt的功能284

实验10观察字体映射器286

实验11优化文本输出288

实验12把静态库改为DLL290

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

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

实验15建立帮助文件295

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

实验17封装对话框数据299

实验18实现WM_CTLCOLOR(选做)300

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

实验20基于Windows应用程序的DDEML304

1994《Windows 3.1应用程序设计》由于是年代较久的资料都绝版了,几乎不可能购买到实物。如果大家为了学习确实需要,可向博主求助其电子版PDF文件(由Microsoft著;王敏译;王真审校 1994 北京:学苑出版社 出版的版本) 。对合法合规的求助,我会当即受理并将下载地址发送给你。