《Windows 3.1编程指南》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:(美)法雷尔(Farrell,Tim),(美)康内利(Connally,Runnoe)编著;李 莉等译
  • 出 版 社:北京:清华大学出版社
  • 出版年份:1994
  • ISBN:730201499X
  • 页数:494 页
图书介绍:

目录 1

第一部分 开发工具及其概念 1

第1章 Windows编程准备 1

1.1 硬件要求 1

1.2 软件要求 2

1.3 Windows概述 2

1.3.1 Windows与DOS的比较 3

1.3.2 Windows接口 4

1.3.3 Windows库 5

1.3.4 开发工具与实用程序 5

1.3.5 建议 7

1.3.6 Windows环境小结 8

1.4 Windows编程的目录结构 8

1.4.1 子目录WINDOWS\WIN 9

1.4.2 子目录WINDOWS\BIN 10

1.4.3 子目录WINDOWS\LIB 10

1.4.4 子目录WINDOWS\DEBUG 11

1.5 安装Windows开发环境 11

1.5.1 安装Windows 12

1.5.2 安装Microsoft C 12

1.5.3 安装软件开发工具(SDK) 13

1.6 优化Windows开发环境 14

1.6.1 减小Windows.h的大小增加编译速度 14

1.6.2 以Windows为开发环境配置系统 14

1.6.3 设置.PIF文件 15

1.6.4 WIN.INI设置 15

1.7 测试与调试 16

1.6.5 SYSTEM.INI设置 16

1.7.2 在单监视器上使用CodeView 17

1.7.3 为调试设置一单色监视器 17

1.8 本章小结 17

1.7.1 为CodeView设置一个调试终端 17

第2章 开发工具的使用 19

2.1 用Microsoft C编译源代码 19

2.1.1 为Windows函数使用Windows.h 20

2.1.2 选择内存模式和浮点库 20

2.1.3 为Windows使用Pascal调用约定 20

2.1.4 在Windows C应用程序中使用WinMain() 21

2.1.5 回调函数 21

2.1.6 使用Windows的C运行库函数 22

2.2 编译Windows C应用程序 23

2.1.7 浮点库与Windows 23

2.1.8 使用环境和命令行参数 23

2.2.1 使用MASM编译汇编文件 25

2.3 使用LINK连接应用程序 27

2.3.1 一个简单的模块定义文件 27

2.3.2 一个复杂的模块定义文件 29

2.3.3 使用LINK产生Windows应用程序 30

2.3.4 使用语句ICON 33

2.3.5 用STRINGTABLE定义字符串表 33

2.3.6 使用语句DIALOG 33

2.3.7 使用语句MENU 34

2.3.8 运行资源编译器 36

2.4 用NMAKE维护应用程序 37

2.5 本章小结 38

第3章 Windows编程模式 39

3.1 对象和对象编程 39

3.2 句柄 40

3.2.1 实例 41

3.3 消息与事件 43

3.4 多任务 46

3.4.1 MS-DOS与Windows 47

3.1 的合作多任务 47

3.4.2 Windows NT 48

3.5 内存管理——Windows风格 48

3.6 资源 50

3.7.1 显示描述表(DC) 52

3.7 图形设备接口(GDI) 52

3.7.2 位图 53

3.7.3 裁剪 54

3.7.4 映射 55

3.8 本章小结 56

第4章 Windows风格指南:窗口和菜单 57

4.1 规则与方法 57

4.2 基本输入元素 58

4.2.1 鼠标器输入 58

4.2.2 键盘输入 59

4.3 图形用户接口技术概要 63

4.3.1 选择 63

4.3.2 控制焦点 67

4.3.3 移动 68

4.3.4 拖放 69

4.3.5 给用户提供反馈 70

4.3.6 编辑控制框 73

4.3.7 绘图 74

4.4 窗口 76

4.4.1 应用程序窗口 76

4.4.2 文本窗口(多文本窗口) 77

4.4.3 窗口的组成 79

4.4.4 基本的窗口操作 83

4.5 菜单 87

4.5.1 下拉式菜单 87

4.5.2 弹出式菜单 87

4.5.3 级联式菜单 88

4.5.4 菜单的组成 89

4.5.5 菜单操作 91

4.5.6 标准菜单 92

4.5.7 常用的可选菜单 97

4.6 本章小结 99

第5章 Windows风格指南:对话框 100

5.1 对话框中的控制 100

5.1.1 按钮 100

5.1.2 复选框 102

5.1.3 列表框 103

5.1.4 编辑控制 105

5.1.5 只读弹出式文字域 107

5.1.9 控制标签 108

5.1.8 分组框 108

5.1.7 静态文字域 108

5.1.6 滑动条 108

5.2 使用对话框 109

5.2.1 对话框的类型 109

5.2.2 对话框中的按钮 112

5.2.3 对话框中的字体 114

5.3 标准对话框 114

5.3.1 文件操作 114

5.3.2 打印 118

5.3.3 文字搜索和替换 120

5.3.4 拼写 122

5.3.5 字符特性 123

5.3.6 边界对话框 125

5.3.8 About对话框 126

5.3.7 Page Setup对话框 126

5.4 其它问题 127

5.4.1 装载和初始化 127

5.4.2 用户等级和定制 127

5.4.3 帮助 128

5.4.4 国际化考虑 128

5.5 本章小结 129

第二部分 建立Windows应用程序 130

第6章 建立程序Editor:基础 130

6.1 用NMAKE编译应用程序 131

6.1.1 生成资源文件EDIT.RC 132

6.1.2 生成头文件edit.h 132

6.1.3 生成模块定义文件EDIT.DEF 133

6.1.4 生成图标文件ICON.ICO 134

6.1.5 变量命名约定 135

6.1.6 生成C源文件EDIT.C 136

6.2 从WinMain()开始执行 139

6.2.1 使用ghInstance和ghPrev-Instance参数 140

6.2.2 登记窗口类 142

6.2.3 生成一个覆盖窗口 143

6.2.4 用ShowWindow()显示一个窗口 144

6.2.5 生成主消息处理循环 145

6.2.6 回顾一下WinMain() 145

6.3 用EditWndProc()处理消息 146

6.3.2 处理WM_DESTROY消息 147

6.3.3 处理WM_PAINT消息 147

6.3.1 使用Windows的DefWindowProc()函数 147

6.4 本章小结 148

第7章 生成菜单 149

7.1 给程序Editor加入下拉式菜单 149

7.1.1 生成菜单消息处理程序doCommand() 151

7.1.2 使用Windows的Mess-ageBox()函数 155

7.2 改变菜单项的外观 156

7.2.1 检查菜单项 158

7.2.2 使菜单项无效 158

7.2.3 加亮顶层下拉菜单 159

7.2.4 拷贝菜单标号 159

7.2.5 删除和增加下拉菜单项 160

7.2.6 获取下拉菜单的句柄 160

7.3 生成随机菜单 160

7.4 给菜单加上加速键 165

7.5 本章小结 166

第8章 生成对话框 168

8.1 模式对话框 168

8.2 非模式对话框 170

8.3 使用Dialog Editor(DLGEDIT.EXE) 171

8.4 分析模式对话框的源代码 172

8.4.1 修改C源文件增加模式对话框 175

8.4.2 建立对话框消息处理源文件DLGCMD.C 177

8.4.3 处理消息WM_INITDIALOG 180

8.4.4 处理消息WM_COMMAND 181

8.4.5 复习模式对话框 182

8.5 分析非模式对话框的源代码 182

8.5.1 修改C源文件增加非模式对话框 184

8.5.2 非模式对话框消息处理过程FindBox() 187

8.5.3 FindBox()中消息WM_INITDIALOG的处理 189

8.5.4 FindBox()中消息WM_COMMAND的处理 190

8.5.5 FindBox()中消息WM_SYSCOMMAND的处理 190

8.6 本章小结 191

第9章 Windows 3.1公共对话框:文件名选择 192

9.1 其它公共对话框 192

9.2 使用Filename公共对话框 193

9.3 建立文件打开对话框 193

9.4 驱动Filename对话框的C源代码 198

9.4.1 使用例程OpenBoxFN() 201

9.4.2 确认文件名 201

9.5 本章小结 202

9.4.3 测试字符合法性 202

第10章 Edit类窗口的使用 203

10.1 Edit类窗口的概念 203

10.2 用Edit类窗口作为子窗口 205

10.3 给程序Editor增加一个Edit类窗口 205

10.3.1 修改EDIT.C产生一个Edit类窗口 210

10.3.2 改变DOCMD.C使用Edit类窗口 212

10.4 本章小结 217

第11章 Windows下的文件功能 218

11.1 Windows文件功能的原则 218

11.2 文件操作的用户接口 219

11.3 修改程序Editor增加文件操作 222

11.3.1 处理消息MN_NEW 227

11.3.2 处理消息MN_OPEN 228

11.3.3 处理消息MNSAVE 229

11.3.4 处理消息MN_SAVEAS 230

11.3.5 SaveTheData()例程 231

11.3.6 ReadTheData()例程 232

11.4 本章小结 234

第12章 全局内存和剪贴板的使用 235

12.1 使用剪贴板和全局内存连接 235

12.2 增加全局内存操作和剪贴板功能 238

12.3 为全局内存和剪贴板功能修改DOCMD.C 241

12.3.1 处理消息MN_FILETOCLIP 247

12.3.2 ReadToClip()例程 248

12.3.3 处理消息MN_CLIPTOFILE 250

12.3.4 ClipToFile()例程 251

12.3.5 处理消息MN_WINTOCLIP 252

12.4 本章小结 254

第13章 Windows下的打印 255

13.1 打印背后的概念 255

13.2 修改程序Editor增加打印功能 257

13.3 编辑程序Editor中的打印处理 267

13.4 本章小结 270

第14章 多文本接口 271

14.1 MDI应用程序结构 271

14.2 MDI应用程序初始化 272

14.2.1 窗口类的注册 272

14.2.2 窗口创建 284

14.4 边框窗口函数 285

14.3 主消息环 285

14.5 子窗口函数 286

14.6 用子窗口协作数据 286

14.6.1 保存数据 287

14.6.2 使用属性 287

14.6.3 子窗口控制 287

14.6.4 创建子窗口 288

14.6.5 撤消子窗口 288

14.6.6 子窗口的激活 288

14.6.7 子窗口在屏幕上的位置 295

14.7 本章小结 295

第三部分 高级内容 296

第15章 用图形设备接口(GDI)显示正文 296

15.1 Font是什么? 296

15.2 第一次显示正文 297

15.3 列出Windows中的各种字体 302

15.3.1 修改EDIT.DEF和DOCMD.C 303

15.3.2 calcFont过程 305

15.3.3 列出字体部分小结 308

15.4 维护显示窗口 308

15.4.1 处理AW_PAINT消息 312

15.4.2 对过程displayFont的理解 314

15.4.3 有关重画的提示 314

15.5 本章小结 315

第16章 显示图形 316

16.1 逻辑与物理坐标 316

16.1.1 MM_TEXT映象模式的使用 316

16.1.2 使用MM_ISOTROPIC映象模式 318

16.1.3 使用MM_ANISO-TROPIC映象模式 320

16.1.4 坐标系统部分小结 321

16.2 创建GDITEST程序 322

16.2.1 GDITEST中使用的全局变量 333

16.2.2 处理Shapes菜单消息 333

16.2.3 响应消息WM_PAINT 335

16.2.4 处理Map Mode菜单消息 336

16.3 本章小结 338

第17章 滚动屏幕内容和控制鼠标事件 339

17.1 滚动的理论 339

17.2 为GDITEST增加滚动条 341

17.3 修改WinMain()函数增加滚动条处理功能 342

17.4 修改SetMap()移动逻辑坐标原点 342

17.4.1 修改程序doCommand()显示和取消滚动条 343

17.4.2 修改GdiWndProc()处理滚动条消息 346

17.5 鼠标移动的理论 349

17.6 在GDITEST应用程序中增加鼠标控制功能 351

17.6.1 修改GdiInit(),改变光标形状 352

17.6.2 修改GdiWndProc(),处理鼠标消息 352

17.6.3 处理WM_LBUTTON-DOWN消息 355

17.7 处理WM_MOUSEMOVE以及WM_LBUTTONUP消息 356

17.8 鼠标处理部分小结 356

17.9 增加打印功能 357

18.1 数据交换 361

18.1.1 利用剪贴板进行传输 361

第18章 动态数据交换(DDE) 361

17.10 本章小结 361

18.1.2 动态连接库 362

18.1.3 动态数据交换 362

18.1.4 DDE的用途 362

18.1.5 一个最终用户使用DDE 363

18.2 DDE的有关概念 363

18.2.1 客户和服务器对话 363

18.2.2 应用程序名称,课题名称以及项目名称 364

18.2.3 热的与温的数据链路 364

18.3 DDE消息 364

18.4 DDE的消息流 365

18.4.1 开始一个对话 365

18.4.2 单个项目的传输 367

18.4.3 建立一个永久性数据链路 370

18.4.4 远程应用程序命令 373

18.4.5 对话结束 376

18.4.6 动态数据交换小结 377

18.5 DDE管理库 377

18.5.1 DDEML概述 377

18.5.2 DDE管理库概念 378

18.5.3 串管理 379

18.5.4 服务器名称服务 379

18.5.5 对话管理 380

18.5.6 DDE、DDEML以及OLE 381

18.6 本章小结 382

第19章 对象链接与嵌入的用户接口指南 383

19.1 基本术语和概念 383

19.2 OLE的好处 384

19.3.1 插入嵌入对象 385

19.3 最终用户角度的OLE 385

19.3.2 察看对象 388

19.3.3 编辑对象 388

19.3.4 从非MDI服务器中更新对象 389

19.3.5 从MDI源中更新对象 389

19.3.6 包含未完成OLE对象的客户中的操作 390

19.3.7 访问对象动词:通过编辑激活 390

19.3.8 Links对话框 393

19.3.9 用于链更新的其它对话框 395

19.4 对象链接与嵌入的实现 396

19.4.1 OLE数据传输 396

19.4.2 OLE库的通信 396

19.4.3 剪贴板约定 397

19.4.4 使用包 398

19.4.5 使用服务器的用户接口 399

19.5 选择DDEML或OLE库指南 400

19.5.1 DDE、OLE消息协议以及库之间的比较 400

19.5.2 什么时候适于选择OLE库,而不是选择DDEML 400

19.5.3 什么时候选择DDEML,而不是OLE库 401

19.5.4 什么时候选择OLE和DDEML 402

19.5.5 多样化的OLE与DDEML版本 402

19.6 本章小结 402

第20章 动态链接库 403

20.1 什么是DLL 403

20.1.1 DLL和输入(Import)库 403

20.1.3 任务与DLL 404

20.1.2 应用程序和DLL模块 404

20.1.4 栈和DLL 405

20.1.5 Windows如何找到DLL 405

20.2 编写自己DLL的理由 406

20.2.1 应用程序中的代码和资源共享 406

20.2.2 不同的市场体制 407

20.2.3 定制控制 407

20.2.4 系统范围消息过滤 412

20.2.5 设备驱动程序 413

20.2.6 项目控制和开发 413

20.3 DLL的产生 414

20.3.1 源文件产生 414

20.3.2 建立.DEF或模块定义文件 417

20.3.3 建立NMake文件 418

20.4.1 建立库函数原型 420

20.4.2 输入库函数 420

20.4 应用程序访问DLL代码 420

20.5 Windows对象所属规定 422

20.6 本章小结 423

第21章 Windows应用程序调试 424

21.1 CodeView 424

21.1.1 CodeView设置 424

21.1.2 CodeView窗口 425

21.1.3 在CodeView中执行程序 425

21.1.4 断点 426

21.1.5 变量检查 427

21.3 Spy 428

21.2 Heap Walker 428

21.4 本章小结 429

第22章 TrueType字体和其它新特点 430

22.1 TrueType介绍 430

22.2 有关字体背景 430

22.2.1 字体到底是什么? 430

22.2.2 Windows字体 432

22.2.3 可移植性问题 434

22.2.4 TrueType的好处 435

22.3 轮廓字体实际如何工作 435

22.3.1 概述 435

22.3.2 字符间隔 435

22.4.2 量化:视觉和非线性 436

22.4.1 可读性与正确性 436

22.3.3 字体枚举 436

22.4 字体量化问题 436

22.4.3 ABC宽度必须正确使用 437

22.4.4 属性可影响字体高度 437

22.4.5 TrueType使用问题 437

22.5 移植层次 438

22.5.1 获得WYSIWYG 438

22.5.2 打印机可移植性 438

22.5.3 文本可移植性 438

22.5.4 字体可移植性 439

22.6 Windows 3.1中各种新特点 439

22.6.1 版本Stamping库 439

22.6.2 应用程序的重点测试 439

22.6.6 屏幕保护程序与Dr.Watson 440

22.6.7 Windows SDK一瞥 440

22.6.3 全局锁定(Locking) 440

22.6.5 Start-Up实用程序 440

22.6.4 改进的FileManager 440

22.6.8 用Escape打印 441

22.6.9 拖动与下拉 441

22.6.10 压缩实用程序 441

22.7 本章小结 442

第23章 Windows NT 443

23.1 Windows NT概述 443

23.1.1 设计目标 443

23.1.2 Windows 3.x API扩展 444

23.2 操作系统战略 444

23.2.2 基本原理 446

23.2.1 ACE建议(initiative) 446

23.2.3 系统组成 447

23.2.4 Executive特点 448

23.2.5 总结:兼容性 451

23.3 Win32概述 451

23.3.1 Windows结构 452

23.3.2 Windows WinAPI 452

23.3.3 基础操作系统核心 453

23.3.4 GDI新项:路径、转换和独立设备色彩 453

23.3.5 系统类与窗口系统 453

23.3.6 网络扩展 454

23.3.7 16位和32位API间的兼容性 454

23.3.8 总结:Win32 API未来 454

23.4.1 二进制兼容性 455

23.4 Win32的编程根据 455

23.4.2 32位Windows一瞥 457

23.4.3 在实模式中的指针处理 460

23.5 本章小结 476

第24章 其它工具和实用程序 478

24.1 工具分类 478

24.2 其它制造商介绍 479

附录A 资源文件语法的速查手册 491

A.1 术语定义 491

A.2 STRINGTABLE语句 491

A.3 ACCELERATOR语句 492

A.3.1 MENU语句 492

A.3.2 DIALOG语句 493