当前位置:首页 > 工业技术
Windows编程指南
Windows编程指南

Windows编程指南PDF电子书下载

工业技术

  • 电子书积分:31 积分如何计算积分?
  • 作 者:包晓露,李萱等编
  • 出 版 社:北京:电子工业出版社
  • 出版年份:1991
  • ISBN:7505321072
  • 页数:1271 页
图书介绍:
《Windows编程指南》目录
标签:编程 指南

序言 1

第一章 何谓Windows程序 1

1.1Windows简史 2

1.2从用户观点看Windows 3

1.2.1图形用户接口(GUI) 3

1.2.2GUI概念和原理 4

1.2.3一致的用户接口 4

1.2.4多任务的优点 6

1.2.5内存管理 7

1.2.6与设备无关的图形接口 8

1.2.7MS-DOS应用程序 9

1.3从程序员观点看Wndows 10

1.3.1Windows和MS-DOS 10

1.3.2Windows的任务 11

1.3.3函数调用 11

1.3.4动态链接 12

1.3.5面向对象的程序设计 14

1.3.6消息驱动的体系结构 14

1.3.7窗口过程 15

1.4第一个Windows程序设计 16

1.4.1程序的问题 17

1.4.2HELLOWIN文件 18

1.4.3MAKE文件 23

1.4.4C源程序文件 26

1.4.5Windows函数调用 26

1.4.6大写标识符 27

1.4.7新数据类型 28

1.4.8获取句柄 30

1.4.9匈牙利表示法 30

1.4.10程序入口点 32

1.4.11注册窗口类 33

1.4.12建立窗口 37

1.4.13显示窗口 39

1.4.14消息循环 40

1.4.15窗口过程 43

1.4.16处理消息 44

1.4.17WM_PAINT消息 45

1.4.18WM_DESTROY消息 47

1.4.19模块定义文件 48

1.5Windows程序设计 49

1.5.1不同的调用方式 50

1.5.2排队和非排队消息 52

1.5.3非抢先多任务 54

1.5.4学习的过程 55

第二章 文本画面 57

2.1绘图和重画 58

2.1.1WM_PAINT消息 58

2.1.2有效矩形和无效矩形 59

2.2GDI简介 60

2.2.1设备环境 61

2.2.2获取环境句柄(方法一) 62

2.2.3绘图信息结构 63

2.2.4获取环境句柄(方法二) 66

2.2.5TextOut(细节) 66

2.2.6系统字模 68

2.2.7字符尺寸 69

2.2.8文本点阵(细节) 70

2.2.9格式文本 70

2.2.10示范程序 73

2.2.11SYSMETS1.C窗口过程 81

2.2.12空间不够 83

2.2.13工作区尺寸 84

2.3滚动条 85

2.3.1滚动条的范围和位置 87

2.3.2滚动条消息 88

2.3.3滚动条程序SYSMETS 90

2.3.4组织绘图程序 97

2.3.5建立更佳的滚动条 99

2.3.6无鼠标操作 108

第三章 键盘 109

3.1键盘基础知识 109

3.1.1键盘驱动程序 110

3.1.2舍弃某些键盘消息 111

3.1.3谁是输入点 112

3.1.4击键和字符 113

3.2击键消息 114

3.2.1系统击键与非系统击键 114

3.2.2lParam变量 116

3.2.3虚拟键码 118

3.2.4Shift状态 122

3.2.5使用击键消息 123

3.3在SYSMETS中增加键盘接口 124

3.3.1增加WM_KEYDOWN逻辑 125

3.3.2发送消息 127

3.4字符消息 138

3.4.1WM_CHAR消息 141

3.4.2死字符消息 142

3.5浏览键盘消息 143

3.6插入记号(不是光标) 152

3.6.1插入记号函数 152

3.6.2TYPE程序 154

3.7WINDOWS字符集 165

3.7.1OEM字符集 166

3.7.2ANSI字符集 168

3.7.3OEM、ANSI及字模 168

3.8国际化问题 169

3.8.1使用字符集 170

3.8.2与MS-DOS对话 171

3.8.3使用数字小键盘 173

第四章 鼠标 174

4.1鼠标基础知识 174

4.1.1快速定义 174

4.2工作区的鼠标消息 175

4.2.1简单鼠标处理举例 177

4.2.2POINT、RECT和1Param 184

4.2.3对Shift键的处理 186

4.2.4鼠标的双选 187

4.3非工作区的鼠标消息 188

4.3.1击中测试消息 190

4.3.2消息来源于消息 191

4.4程序中的击中测试 192

4.4.1一个假设的例子 193

4.4.2程序举例 194

4.4.3用键盘来模拟鼠标 199

4.4.4在CHECKER中增加键盘接口 202

4.4.5使用子窗口代替击中测试 209

4.4.6CHECKER中的子窗口 210

4.5捕获鼠标 219

4.5.1BLOWUP1程序 219

4.5.2改变鼠标光标形状 225

4.5.3StretchBlt调用 227

4.5.4画出捕获的块 227

第五章 计时器 229

5.1计时器基础知识 231

5.1.1SYSTEM.DRV和Windows计时器 231

5.1.2计时消息不是异步的 233

5.2使用计时器的三种方法 234

5.2.1第一种方法 235

5.2.2无计时器可用时如何处理 236

5.2.3程序举例 239

5.2.4第二种方法 245

5.2.5程序举例 248

5.2.6正确使用反调用函数 252

5.2.7第三种方法 255

5.3计时器用于状态报告 255

5.3.1有创造性地使用图标 261

5.3.2强制变成图标 262

5.3.3保持图标为图标 263

5.3.4计算可用内存 263

5.3.5使用浮点运算 264

5.4使用计时器作时钟 264

5.4.1对弹出窗口定位及给出大小 272

5.4.2获得日期和时间 272

5.4.3国际化 272

5.5Windows的标准时间 274

第六章 子窗口控制 276

6.1按钮类 278

6.1.1建立子窗口 284

6.1.2子窗口与父窗口对话 286

6.1.3父窗口与子窗口对话 287

6.1.4PUSH按钮 288

6.1.5检查框(check box) 290

6.1.6收音机按钮(radio button) 291

6.1.7GROUP框 292

6.1.8用户定义按钮 292

6.1.9改变按钮正文 292

6.1.10可见的与可用的按钮 293

6.1.11按钮与输入点 294

6.2控制及颜色 295

6.2.1系统颜色 296

6.2.2按钮颜色 298

6.2.3WM_CTLCOLOR消息 299

6.3静态类(static class) 302

6.4滚动条类(scrollbar class) 304

6.4.1COLORS1程序 306

6.4.2自动键盘接口 316

6.4.3窗口子类(windows subclassing) 317

6.4.4加背景色 318

6.4.5对滚动条上色 320

6.4.6处理多种事例 321

6.4.7将COLORS1作为图标 322

6.5编辑类(edit class) 322

6.5.1编辑类模式 327

6.5.2编辑控制通知单(Edit Control Notification) 328

6.5.3使用编辑控制 329

6.5.4向编辑控制发送的消息 329

6.6目录框类(listbox class) 331

6.6.1目录框样式 332

6.6.2在目录框中放入字符串 333

6.6.3选择和摘取输入 335

6.6.4从目录框接受消息 337

6.6.5目录框应用程序举例 338

6.6.6显示文件目录 344

6.6.7Windows的头 346

6.6.82KB的空间浪费 355

第七章 内存管理 356

7.1INTEL存储器的段模式 358

7.2Windows的内存组织 359

7.2.1固定段与可移动段 361

7.2.2可淘汰内存 362

7.2.3全局内存表 364

7.2.4局部内存 365

7.3代码段和数据段 367

7.3.1小型、中型、紧凑性、大型和巨型存储模式 367

7.3.2多代码段 369

7.3.3紧凑存储模式和大存储模式 371

7.3.4避免移动 373

7.3.5程序段属性 374

7.4Windows如何移动与重装入程序段 377

7.4.1远程函数的特殊处理 378

7.4.2Windows执行程序 382

7.4.3MakeProcInstance的作用 384

7.4.4动态链接库带来的差异 386

7.4.5栈探测 387

7.4.6扩充存储器 388

7.4.7保护方式 390

7.5在程序内部申请空间 391

7.5.1存储块锁定 392

7.5.2一个快速示例 393

7.5.3全局内存函数 394

7.5.4其它的内存函数 397

7.5.5使用可淘汰全局内存 399

7.5.6巨型全局内存块 400

7.5.7局部内存分配 403

7.5.8其它的局部内存函数 406

7.5.9锁定自己的数据段 407

7.5.10内存分配的“捷径” 408

7.5.11使用C的内存函数 410

7.5.12在保护方式下运行 411

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

8.1资源编译 414

8.2图标与光标 417

8.2.1SDKPAINT工具 422

8.2.2取得图标句柄 426

8.2.3在程序中使用图标 428

8.2.4使用侯选光标的语句 429

8.3资源与内存 430

8.3.1位图:象素点图画 431

8.3.2使用位图和画刷 432

8.4字符串 438

8.4.1使用字符串资源 438

8.4.2在消息框中使用字符串 439

8.4.3字符串与内存空间 441

8.4.4用户自定义资源 442

第九章 菜单与加速键 456

9.1菜单 456

9.1.1菜单结构 457

9.1.2菜单样本 458

9.1.3应用程序中如何调用菜单 462

9.1.4菜单和消息 464

9.1.5范例 468

9.1.6菜单格式 478

9.1.7定义菜单的另一种格式 479

9.1.8定义菜单的第三种途径 481

9.1.9浮动的弹出式菜单 481

9.1.10系统菜单的使用 490

9.1.11修改菜单 496

9.1.12其它菜单命令 496

9.1.13一个非正规的菜单 498

9.2菜单中使用位图 506

9.2.1利用位图作为菜单项的两种方法 520

9.2.2内存设备环境 521

9.2.3用程序建立位图 522

9.2.4位图的变形调整 523

9.2.5完整菜单的形成 525

9.2.6增加键盘操作界面 527

9.3加速键 528

9.3.1为什么要使用加速键 528

9.3.2加速键定义的一些规则 529

9.3.3加速键表 530

9.3.4装入加速键表 533

9.3.5加速键的转换 533

9.3.6接收加速键消息 535

9.3.7用菜单和加速键编写的POPPAD程序 536

9.3.8菜单项能否执行的判别 546

9.3.9菜单项的处理 547

第十章 会话框 552

10.1标准会话框 553

10.1.1建立“About”会话框 553

10.1.2会话框样本 559

10.1.3会话框过程 562

10.1.4会话框过程的卸出 564

10.1.5会话框的启动 564

10.1.6进一步讨论会话框样式 566

10.1.7其它会话框控制 568

10.1.8一个稍复杂的会话框 571

10.1.9会话框中控制的处理 581

10.1.10OK和Cancel按钮 585

10.1.11控制的分组 587

10.1.12会话框中绘图 590

10.1.13在会话框中使用其它函数 591

10.1.14自定义控制 591

10.2消息框 602

10.2.1Assertion消息框 604

10.2.2用消息框显示有关消息 606

10.3POPPAD程序的文件菜单项功能 607

10.3.1OpenFile函数 607

10.3.2文件输入输出的两种方式 611

10.3.3Open和Save菜单项的会话框 615

10.3.4DlgDirList函数和DlgDirSelect函数 627

10.3.5获取合法文件名 629

10.3.6新版的POPPAD程序 630

10.4非标准会话框 652

10.4.1标准会话框和非标准会话框之间的区别 653

10.4.2新版的COLORS程序 655

10.4.3HEXCALC程序是窗口还是会话框 664

10.4.4控制标识符的有效使用 675

10.5会话框实用程序的使用 676

第十一章 GDI引言 681

11.1GDI原理 681

11.2设备环境(DC) 684

11.2.1获取设备环境句柄 684

11.2.2获取设备环境信息 687

11.2.3DEVCAPS1程序 688

11.2.4设备尺寸 707

11.2.5查找色彩信息 709

11.2.6设备环境属性 711

11.2.7保存设备环境 712

11.3映射方式 715

11.3.1设备坐标和逻辑坐标 717

11.3.2设备坐标 718

11.3.3视口和窗口 719

11.3.4使用MM_TEXT方式工作 721

11.3.5“Metric”映射方式 726

11.3.6“Roll Your Own”映射方式 729

11.3.7WHATSIZE程序 737

第十二章 作图 745

12.1画点 745

12.2画线 746

12.2.1使用库存画笔 749

12.2.2生成、选择、删除画笔 751

12.2.3避免设备依赖性 756

12.2.4在隙间填充 757

12.2.5作图方式 757

12.2.6ROP2和色彩 767

12.3绘制填充区域 769

12.3.1有界图形 771

12.3.2ARCS程序 777

12.3.3饼图的三角学 784

12.3.4Polygon函数和Polygon填充方式 787

12.3.5涂刷图形内部 789

12.3.6画刷和位图 793

12.3.7生成和使用位图画刷 795

12.3.8画刷的定位 799

12.4矩形、区域和裁剪 803

12.4.1对矩形进行工作 804

12.4.2生成和绘制区域 806

12.4.3对矩形和区域进行裁剪 808

12.4.4CLOVER程序 809

12.5杂类GDI函数 817

12.6永久绘图程序 825

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

13.1旧位图格式 837

13.1.1在程序中生成位图 837

13.1.2单色位图格式 840

13.1.3彩色位图格式 841

13.1.4位图的大小 842

13.2设备无关位图 843

13.2.1DIB文件 843

13.2.2生成一个DIB 846

13.3内存设备环境 848

13.4强有力的BLT 850

13.4.1patBlt函数 851

13.4.2块传递(BLT)坐标 854

13.4.3使用BitBlt传递位 856

13.4.4DrawBitmap程序 858

13.4.5使用不同的ROP代码 860

13.4.6内存设备环境更有趣的应用 863

13.4.7色彩转换 869

13.4.8映射方式的转换 871

13.4.9使用StretchBlt扩展位图 871

13.4.10动画 873

13.5图元文件 880

13.5.1内存图元文件的简单应用 881

13.5.2在磁盘上存放图元文件 884

13.5.3使用已存在的图元文件 886

13.5.4把图元文件作为源 890

13.5.5查看图元文件 896

13.5.6图元文件做什么、不做什么 898

第十四章 文本和字模 901

14.1简单文本输出 901

14.1.1文本输出函数 901

14.1.2文本的设备环境属性 904

14.1.3使用矢量字体 905

14.1.4使字符串变灰 907

14.1.5GrayString的简单用法 910

14.1.6不用GrayString而使字符串变灰 910

14.2字体的背景知识 911

14.2.1字模的类型 911

14.2.2话题1:系列和字样 913

14.2.3字体资源文件 916

14.2.4话题2:关于“点” 918

14.2.5为什么要使用逻辑英寸 919

14.2.6话题3:leading和spacing 920

14.2.7逻辑“TWIPS”映射方式 921

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

14.3.1字体选择及定义 939

14.3.2逻辑字体结构 940

14.3.3字模端射算法 946

14.3.4找出字模 947

14.4枚举字体 950

14.5文本格式化 969

14.5.1单行文本对齐 970

14.5.2段落处理 972

第十五章 使用打印机 991

15.1打印、假脱机(spooling)和Escape 992

15.2打印机设备环境(device context) 997

15.2.1获得CreateDC参数 998

15.2.2重新考虑 1002

15.2.3DeviceMode调用 1013

15.2.4检查BitBlt性能 1016

15.3打印基础 1017

15.3.1Escape函数 1017

15.3.2FROMFEED 1018

15.4打印图形和文本 1022

15.4.1裸机打印 1027

15.4.2设置终止过程 1030

15.4.3Windows如何使用AbortProc 1033

15.4.4实现终止过程 1034

15.4.5增加打印对话框 1040

15.4.6在POPPAD中增加打印 1048

15.4.7处理错误码 1058

15.5段技术 1060

15.5.1讨论段技术 1061

15.5.2以不同的方式使用终止过程 1065

15.6打印机和字模 1073

第十六章 剪接板 1076

16.1初步使用剪接板 1076

16.1.1标准剪接板数据格式 1077

16.1.2向剪接板传送文本 1078

16.1.3从剪接板得到文本 1080

16.1.4剪接板功能 1081

16.1.5打开和关闭剪接板 1082

16.1.6使用剪接板操作拉图 1083

16.1.7BLOWUP程序的改进版本 1084

16.1.8图元文件和图元文件图象 1093

16.2剪接板的高级用法 1100

16.2.1多数据项的使用 1101

16.2.2延迟涂抹 1103

16.2.3私有数据格式 1105

16.3编写剪接板视窗 1109

16.3.1剪接板视窗链 1109

16.3.2剪接板视窗函数和消息 1110

16.3.3一个简单的剪接板视窗 1114

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

17.1基本概念 1121

17.1.1应用、主题和项(application、topic和item) 1121

17.1.2会话的类型 1122

17.1.3字符串和原子(atoms) 1128

17.2DDE服务器程序样本 1130

17.2.1DDEPOP程序 1152

17.2.2WM_DDE_INITIATE消息 1153

17.2.3ServerProc窗口过程 1154

17.2.4WM_DDE_REQUEST消息 1155

17.2.5DDEPOP的PostDataMessage函数 1157

17.2.6WM_DDE_ADVISE消息 1158

17.2.7修改项 1161

17.2.8WM_DDE_UNADVISE消息 1162

17.2.9WM_DDE_TERMINATE消息 1162

17.3DDE顾客程序样本 1163

17.3.1开始DDE会话 1176

17.3.2WM_DDE_DATA消息 1178

17.3.3WM_DDE_TERMINATE消息 1179

17.4异常情况下的处理 1180

第十八章 多文件界面 1181

18.1MDI的要素 1181

18.2WINDOWS 3和MDI 1183

18.3样本程序 1185

18.3.1三个菜单 1206

18.3.2程序初始化 1207

18.4创建子窗口 1209

18.5框架窗口消息处理 1210

18.6子文件窗口 1212

18.7窗口过程的效力 1215

第十九章 动态链接库 1216

19.1库基本概念 1216

19.1.1“库”字的多种含义 1218

19.1.2用EXEHDR检查库 1219

19.2STRPROG和STRLIB 1221

19.2.1STRLIB库 1222

19.2.2生成文件的不同之处 1227

19.2.3库的入口点 1228

19.2.4STRLIB的函数 1230

19.2.5库模块定义文件 1230

19.2.6STRPROG程序 1231

19.2.7运行STRPROG 1242

19.2.8远程函数的引导代码 1243

19.2.9反调函数的用途 1244

19.3DS!=SS问题 1246

19.4库的其它限制 1252

19.5确定链接的几种不同方法 1253

19.6利用输入库 1255

19.7截获窗口函数调用 1259

19.8无输入的动态链接 1261

19.9资源库 1262

相关图书
作者其它书籍
返回顶部