《Windows 3.1程序设计》PDF下载

  • 购买积分:21 如何计算积分?
  • 作  者:文都等译
  • 出 版 社:北京:海洋出版社
  • 出版年份:1993
  • ISBN:7502733167
  • 页数:776 页
图书介绍:

1.3.5面向对象的程序设计 1

第一章Windows编程要素简介 3

1.1 Windows发展史简介 3

目 录 3

1.2用户的观点 4

1.2.1 图形用户界面(GUI) 4

1.2.2 GUI的概念及基本原理 5

1.2.3一致的用户界面 5

1.2.4多任务的优点 6

1.2.5内存管理 7

1.2.6与设备无关的图形界面 7

1.2.7 MS-DOS应用程序 8

1.3.2投入Windows 9

1.3.3函数调用 9

1.3.1 Windows与MS-DOS 9

1.3程序员的观点 9

1.3.4动态链接 10

1.3.6消息驱动式体系结构 11

1.3.7窗口过程 11

1.4编写第一个Windows程序 12

1.4.1传统程序的问题何在 12

1.4.2 HELLOWIN的文件 13

1.4.3 Make文件 17

1.4.4 C源代码文件 19

1.4.5 Windows函数调用 20

1.4.6大写字母标识符 20

1.4.7新的数据类型 21

1.4.8句柄简介 21

1.4.9匈牙利表示法 22

1.4.10程序入口点 23

1.4.11登录窗口类 24

1.4.12创建窗口 26

1.4.13显示窗口 27

1.4.14消息循环 27

1.4.15窗口过程 29

1.4.16处理消息 30

1.4.17 WM_PAINT消息 30

1.4.18 WM-DESTROY消息 31

1.4.19模块定义文件 32

1.5 Windows程序设计难点 32

1.5.1 Windows程序中的调用关系 33

1.5.2进队消息与不进队消息 34

1.5.3无优先级的多任务 35

1.5.4学习策略 35

2.1绘图与刷新 37

第二章文本输出 37

2.1.1 WM_PAINT消息 38

2.1.2有效矩形与无效矩形 38

2.2 GDI简介 39

2.2.1 设备环境 39

2.2.2获取设备环境的方法之一 40

2.2.3绘图信息结构 40

2.2.4获取设备环境句柄的方法之二 42

2.2.5细论TextOut 42

2.2.6 系统字体 43

2.2.7字符大小 44

2.2.8细论文本尺度 45

2.2.9格式化文本 46

2.2.10综合使用 47

2.2.11 SYSMETS1.C窗口过程 52

2.2.12屏幕空间不够 53

2.2.13客户区域的大小 53

2.3滚动条 54

2.3.1滚动条的范围和位置 55

2.3.2滚动条消息 55

2.3.3在SYSMETS中加入滚动功能 57

2.3.4使程序结构化以利于绘图 61

2.3.5建立更好的滚动条 62

2.3.6不用鼠标怎么办 67

第三章键盘 71

3.1键盘基础 71

3.1.1键盘驱动程序 71

3.1.3焦点 72

3.1.2忽略击键 72

3.1.4击键和字符 73

3.2击键消息 73

3.2.1系统与非系统击键 74

3.2.2 IParam参数 74

3.2.3虚拟键代码 76

3.2.4变换状态 78

3.2.5使用击键消息 79

3.3增强系统:增加键盘接口 79

3.3.1加入WM_KEYDOWN逻辑 79

3.3.2发送消息 81

3.4字符消息 87

3.4.1 WM_CHAR消息 89

3.4.2死字符消息 89

3.5浏览键盘消息 90

3.6.1脱字符函数 95

3.6脱字符(非光标) 95

3.6.2 TYPE程序 96

3.7 Windows字符集 103

3.7.1 OEM字符集 103

3.7.2 ANSI 104

3.7.3 OEM、ANSI和字体 105

3.8国际化考虑 105

3.8.1字符集的处理 106

3.8.2关于MS—DOS的讨论 106

3.8.3数字小键盘的使用 107

第四章鼠标 109

4.1鼠标基础知识 109

4.1.1一些简单定义 109

4.2客户区鼠标消息 110

4.2.1简单的鼠标处理:一个例子 111

4.2.2 POINT、RECT和IParam 115

4.2.3 Shift键的处理 116

4.2.4双击鼠标按钮 117

4.3非客户区鼠标消息 117

4.3.1命中测试消息 118

4.3.2消息产生消息 119

4.4用户程序中的命中测试 120

4.4.1一个假想的例子 120

4.4.2示例程序 121

4.4.3用键盘模拟鼠标 124

4.4.4在CHECKER 中加入键盘接口 126

4.4.5子窗口用于命中测试 130

4.4.6 CHECKER中的子窗口 131

5鼠标的俘获 135

4.5.1 BLOWUPl程序 136

4.5.2鼠标光标形状的修改 139

4.5.3 StretchBit调用 140

4.5.4绘制俘获块 141

第五章定时器 143

5.1定时器基础 143

5.1.1 SYSTEM.DRV和Windows定时器 143

5.1.2非异步定时器消息 144

5.2定时器的使用:三种方法 145

5.2.1方法一 145

5.2.2方法二 151

5.2.3方法三 156

5.3状态报告中定时器的使用 156

5.3.1图标的创造性使用 159

5.3.2图标的强制使用 160

5.4定时器在时钟中的应用 161

5.3.3图标的保持 161

5.3.4自由内存的计算 161

5.4.1弹出式窗口的定位和缩放 165

5.4.2日期与时间的获取 166

5.4.3国际化 166

5.5 Windows标准时间 167

第六章子窗口控制 169

6.1按钮类 169

6.1.1建立子窗口 172

6.1.2子窗口向父窗口发信号 174

6.1.3父窗口向子窗口发信号 175

6.1.4压入按钮 175

6.1.5复选框 176

6.1.7分组框 177

6.1.8改变按钮文本 177

6.1.6单选按钮 177

6.1.9可见的和启用的按钮 178

6.1.10按钮和输入焦点 178

6.2控制和颜色 179

6.2.1 系统颜色 179

6.2.2按钮颜色 181

6.2.3 WM_CTLCOLOR消息 181

6.2.4 自绘按钮 183

63静态类 190

6.4滚动条类 191

6.4.1 COLORSl程序 192

6.4.2自动键盘接口 197

6.4.3窗口分组 198

6.4.4给背景着色 199

6.4.5给滚动条着色 200

6.4.6处理多个实例 201

6.4.7 COLORSl作为图标 201

6.5编辑类 201

6.5.1编辑类风格 204

6.5.2编辑控制通知 205

6.5.3使用编辑控制 205

6.5.4发送给编辑控制的消息 206

6.6列表框类 206

6.6.1 列表框风格 207

6.6.2将串放入列表框 208

6.6.3选择和提取条目 209

6.6.4接收来自列表框的消息 210

6.6.5一个简单的列表框应用 210

6.6.6文件列表 214

6.6.7 Windows的head程序 215

6.6.8被浪费的8KB空间 219

第七章内存管理 224

7.1微处理器与内存 224

7.1.1近地址和远地址 225

7.1.2保护模式 226

7.2 Windows中的内存组织 227

7.2.1 固定段和可移动段 228

7.2.2可抛弃内存 228

7.2.3全程内存布局 229

7.2.4局部内存 230

7.3代码段和数据段 231

7.3.1 小、中、压缩、大和巨内存模式 231

7.3.2多个代码段 232

7.3.3关于压缩模式和大模式 233

7.3.5程序段属性 234

7.3.4避免移动问题 234

7.4在程序内分配内存 236

7.4.1锁定用户块 236

7.4.2快速示例 237

7.4.3全程内存函数 238

7.4.4其它全程内存函数 240

7.4.5使用可抛弃的全程内存 241

7.4.6巨型全程内存块 242

7.4.7分配局部内存 243

7.4.8其它局部内存函数 245

7.4.9锁定用户自己的数据段 245

7.4.10内存分配的简单方法 246

7.4.11 C语言内存分配函数的使用 247

第八章图标、光标、位图和字符串 248

8.1编译资源 248

8.2图标和光标 250

8.2.1图象编辑器 254

8.2.2获取图标句柄 256

8.2.3图标的使用 257

8.2.4备用光标的使用 258

8.3资源和内存 258

8.3.1位图:象素组成的图象 259

8.3.2位图和刷子的使用 259

8.4字符串 263

8.4.1字符串资源的应用 264

8.4.2消息框和字符串 264

8.4.3字符串资源和内存空间 265

8.5用户定义的资源 266

9.1菜单 275

9.1.1菜单结构 275

第九章菜单与加速键 275

9.1.2菜单模板 276

9.1.3在程序中访问菜单 279

9.1.4菜单和消息 280

9.1.5程序示例 282

9.1.6菜单格式 288

9.1.7定义菜单的严格方法 288

9.1.8定义菜单的第三种方法 289

9.1.9浮动弹出式菜单 290

9.1.10使用系统菜单 295

9.1.11修改菜单 298

9.1.12其它菜单命令 298

9.1.13创建菜单的其它方法 299

9.2位图菜单 304

9.2.2内存设备环境 312

9.2.1 创建菜单位图的两种方法 312

9.2.3文本位图 313

9.2.4位图的比例缩放 314

9.2.5连接菜单 315

9.2.6加入键盘接口 316

9.3加速键 317

9.3.1 加速键的使用 317

9.3.2安排加速键的几条规则 317

9.3.3加速键表 318

9.3.4加速键表的装入 319

9.3.5键盘代码转换 320

9.3.6接收加速键消息 321

9.3.7菜单与加速键应用程序POPPAD 321

9.3.9处理菜单选项 328

9.3.8启用菜单项 328

第十章对话框 331

10.1模态对话框 331

10.1.1 创建一个“About”对话框 331

10.1.2对话框模板 335

10.1.3对话框过程 337

10.1.4激活对话框 338

10.1.5对话框风格的补充说明 339

10.1.6定义控制的补充说明 341

10.1.7一个更复杂的对话框 342

10.1.8使用对话框控制 348

10.1.9 OK和Cancel按钮 351

10.1.10 Tab和组 352

10.1.11 在对话框上画图 354

10.1.12使用对话框的其它函数 354

10.1.13 定义自己的控制 355

10.2消息框 361

10.2.1 弹出信息 362

10.3非模态对话框 363

10.3.1模态对话框与非模态对话框的区别 363

10.3.2新COLORS程序 365

10.3.3HEXCALC:窗口还是对话框 370

10.3.4创造性地使用控制ID 376

10.4对文件的操作 377

10.4.1推荐的方法 377

10.4.2 Windows文件I/O函数 378

10.4.3在POPPAD中加入文件处理 380

10.4.4查找与替换 399

10.5只有一个函数调用的Windows程序 400

11.1 GDI基本原理 405

第十一章GDI简介 405

11.2设备环境 406

11.2.1获取设备环境的句柄 406

11.2.2获取设备环境信息…………………………………………………………(40a)11.2.3 DEVCAPSl程序 408

11.2.4设备的大小 419

11.2.5获取颜色信息 421

11.2.6设备环境属性 422

11.2.7保存设备环境 423

11.3映射方式 424

11.3.1设备坐标和逻辑坐标 426

11.3.2设备坐标系统 426

11.3.3视口和窗口 426

11.3.4 WM-TEXT映射方式 428

11.3.5“度量”映射方式 430

11.3.6“自作主张的”映射方式 433

11.3.7 WHATSIZE程序 438

第十二章绘制图形 443

12.1 画点 443

12.2画线 443

12.2.1 使用后援画笔 445

12.2.2画笔的创建、选择和删除 446

12.2.3避免与设备相关 449

12.2.4填充空隙 450

12.2.5绘图方式 450

12.2.6 ROP2LOOK程序 451

12.2.7 ROP2与颜色 455

12.3画填充区域 456

12.3.1边界框 457

12.3.2 ARCS程序 461

12.3.3饼状图的三角学 466

12.3.4 Polygon函数和多边形填充方式 468

12.3.5用刷子填充内里 468

12.3.6刷子和位图 471

12.3.7位图刷子的创建与使用 472

1 2.3.8刷子的对齐 475

12.4矩形、区域和剪取 477

12.4.1矩形函数 477

12.4.2区域的创建和绘制 479

12.4.3矩形与区域的剪取 480

12.4.4 CLOVER程序 481

12.5其它GDI函数 485

12.6不停地画图的程序 490

13.1颜色和位图 497

13.2与设备无关的位图(DIB) 497

第十三章位、块传输和元文件 497

13.2.1 DIB文件 498

13.2.2压缩DIB 内存格式 499

13.2.3显示DIB 500

13.2.4创建DIB 507

13.3 GDI位图对象 507

13.3.1在程序中创建位图 508

13.3.2单色位图格式 509

13.3.3彩色位图格式 510

13.3.4位图的尺寸 511

13.4内存设备环境 511

13.5强大的BLT 512

13.5.1PatBlt函数 512

13.5.2 Blt坐标 515

13.5.3用BitBlt传输位 516

13.5.4 DrawBitmap函数 517

13.5.5使用不同的ROP码 518

13.5.6再论内存设备环境 520

13.5.7颜色转换 523

13.5.8映射方式转换 524

13.5.9用StrechBlt伸展位图 524

13.5.10动画 525

13.6元文件 529

13.6.1 内存元文件的简单应用 529

13.6.2将先文件存放在磁盘上 531

13.6.3使用预先存在的元文件 532

13.6.4将元文件用作资源 534

13.6.5细论元文件 538

13.6.6元文件能做的与不能做的 539

14.1简单的文本输出 541

14.1.1文本输出函数 541

第十四章文本和字体 541

14.1.2文本的设备环境属性 543

14.1.3使用后援字体 544

14.1.4输出灰色字符串 545

14.1.5 GrayString的简单用法 547

14.1.6不用GrayString显示灰色串 547

14.2字体的基础知识 547

14.2.1字体的类型 547

14.2.2主题之一:系列与字型 550

14.2.3字体资源文件 552

14.2.4主题之二:获取点 554

14.2.为什么使用逻辑英寸 555

14.2.6主题之三:行空和间距 555

14.2.7“逻辑twips”映射方式 556

14.3逻辑字体的创建、选择和删除 557

14.3.1 PICKFONT程序 559

14.3.2逻辑字体结构 568

14.3.3字体映射算法 571

14.3.4查明字体信息 572

14.4枚举字体 574

14.5格式化文本 585

14.5.1单行文本的对齐 586

14.5.2处理段落 587

14.6字体的POPPAD 595

第十五章使用打印机 599

15.1 打印、缓冲和转义 599

15.2打印机设备环境 602

15.2.1获取CreateDC参数 602

15.2.2修改后的DEVCAPS程序 604

15.2.3 DeviceMode调用 611

15.2.4检查BitBlt能力 612

15.3打印原理 613

15.3.1 Escape函数 613

15.3.2 FORMFEED程序 614

15.4打印图形和文本 616

15.4.1Bare-Bones打印 619

15.4.2设置终止过程 621

15.4.3Windows如何使用AbortProc 622

15.4.4实现终止过程 623

15.4.5增加一个打印对话框 626

15.4.6增加POPPAD的打印功能 630

15.4.7处理错误码 635

15.5打印分块技术 637

15.5.1形成打印块 638

15.5.2终止过程的不同应用 640

15.6打印机和字体 645

第十六章剪辑板 649

16.1剪辑板的简单使用 649

16.1.1标准剪辑板数据格式 649

16.1.2把文本传送到剪辑板 650

16.1.3从剪辑板上获取文本 651

16.1.4剪辑板的功能 652

16.1.5打开和关闭剪辑板 653

16.1.6使用位图剪辑板 653

16.1.7修订后的BLOWUP程序 653

16.1.8元文件和元文件图片 659

16.2复杂的剪辑板应用 663

16.2.1利用多个数据项 664

16.2.2延迟再生 665

16.2.3私有数据格式 666

16.3实现剪辑板浏览器 668

16.3.1剪辑板浏览器链 668

16.3.2剪辑板浏览器函数和消息 668

16.3.3一个简单的剪辑板浏览器 671

第十七章动态数据交换(DDE) 675

17.1基本概念 675

17.1.1应用程序、主题和项 676

17.1.2交谈的类型 676

17.1.3字符串和原子 680

17.2一个DDE服务器程序 682

17.2.1 DDEPOP1问题 695

17.2.2 WM_DDE_INTIATE消息 696

17.2.3 ServerProc窗口过程 696

17.2.4 WM_DDE-REQUEST消息 697

17.2.5 DDEPOP1的PostDataMessage函数 698

17.2.6 VWM_DDE-ADVISE消息 699

17.2.7更新数据项 700

17.2.8 WM_DDE-UNADVISE消息 701

17.2.9 WM_DDE_TERMINATE消息 701

17.3 DDE客户程序 701

17.3.1 启动DDE交谈 709

17.3.2 WM_DDE_DATA消息 710

17.3.3 WM_DDE-TERMINATE消息 711

17.4 DDE管理库 711

17.4.1 概念上的差异 711

17.4.2 DDE的DDEML方式 712

第十八章 多文档界面 725

18.1 MDI的组成 725

18.2 WIDOWS 3和MDI 726

18.3示例程序 727

18.3.1 三个菜单 739

18.3.2程序初始化 739

18.4创建子窗口 741

18.5多框架窗口消息处理 741

18.6子文档窗口 742

18.7清除 743

18.8窗口过程的功能 744

第十九章动态链接库 745

19.1库的基本要素 745

19.1.1库:一词多义 746

19.1.2用EXEHDR检验库 746

19.2 STRPROG和STRLIB 747

19.2.1 make文件的区别 748

19.2.2 STRLIB库 749

19.2.3库入口 752

19.2.4动态链接库复位 753

19.2.5 C++换名和DLL 753

19.2.6STRLIB函数 754

19.2.7库模块定义文件 754

19.2.8 STRPROG程序 755

19.2.9运行STRPROG 760

19.2.10远程函数入口 761

19.2.11 回调函数的使用 762

19.3 DS!=SS 763

19.4对库的其它限制 766

19.5规定链接的不同方法 767

19.6使用输入库 768

19.7不带输入的动态链接 770

19.8纯资源库 771