《Windows编程指南》求取 ⇩

序言1

第一章何谓Windows程序1

1.1Windows简史2

1.2从用户观点看Windows3

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从程序员观点看Wndows10

1.3.1Windows和MS-DOS10

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滚动条程序SYSMETS90

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和1Param184

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生成一个DIB846

13.3内存设备环境848

13.4强有力的BLT850

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和spacing920

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)和Escape992

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.2FROMFEED1018

15.4打印图形和文本1022

15.4.1裸机打印1027

15.4.2设置终止过程1030

15.4.3Windows如何使用AbortProc1033

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和MDI1183

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和STRLIB1221

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运行STRPROG1242

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

1991《Windows编程指南》由于是年代较久的资料都绝版了,几乎不可能购买到实物。如果大家为了学习确实需要,可向博主求助其电子版PDF文件(由包晓露,李萱等编 1991 北京:电子工业出版社 出版的版本) 。对合法合规的求助,我会当即受理并将下载地址发送给你。

高度相关资料

Windows 3.1编程指南(1994 PDF版)
Windows 3.1编程指南
1994 北京:清华大学出版社
Microsoft Windows 95 程序员指南(1996 PDF版)
Microsoft Windows 95 程序员指南
1996
FoxPro 2.5 for Windows实用(高级)编程指南( PDF版)
FoxPro 2.5 for Windows实用(高级)编程指南
陕西电子杂志社
Visual Basic for windows实用编程指南( PDF版)
Visual Basic for windows实用编程指南
清华大学出版社
计算机系统实用开发手册( PDF版)
计算机系统实用开发手册
Microsoft Excel/Visual Basic for Windows 95编程指南( PDF版)
Microsoft Excel/Visual Basic for Windows 95编程指南
北京:清华大学出版社
WINDOWS NT 编程指南( PDF版)
WINDOWS NT 编程指南
Foxpro 2.5 for Windows实用 高级 编程指南(1995 PDF版)
Foxpro 2.5 for Windows实用 高级 编程指南
1995 陕西电子杂志社
Windows 95编程指南(1997 PDF版)
Windows 95编程指南
1997 清华大学出版社;西蒙与舒斯特国际出版公司
Visual Basic 4 for Windows编程指南(1996 PDF版)
Visual Basic 4 for Windows编程指南
1996 北京:电子工业出版社
Visual Basic 4.0 for Windows编程速成指南(1997 PDF版)
Visual Basic 4.0 for Windows编程速成指南
1997 上海:同济大学出版社
C语言结构化程序设计(1997 PDF版)
C语言结构化程序设计
1997 北京:机械工业出版社
CGI 编程指南(1998 PDF版)
CGI 编程指南
1998 杭州:浙江科学技术出版社;西蒙与舒斯特国际出版公司
JAVA编程指南(1997 PDF版)
JAVA编程指南
1997 杭州:浙江科学技术出版社;西蒙与舒斯特国际出版公司
WWW编程指南(1999 PDF版)
WWW编程指南
1999 北京:人民邮电出版社