《WINDOWS 编程指南》求取 ⇩

目录1

序言1

第一章 何谓Windows程序1

1.1 Windows简史2

1.2 从用户观点看Windows3

1.2.1 图形用户接口(GUI)3

1.2.2 GUI概念和原理4

1.2.3 一致的用户接口4

1.2.4 多任务的优点6

1.2.5 内存管理7

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

1.2.7 MS-DOS应用程序9

1.3.1 Windows和MS-DOS10

1.3 从程序员观点看Wndows10

1.3.2 Windows的任务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.2 HELLOWIN文件18

1.4.3 MAKE文件23

1.4.4 C源程序文件26

1.4.5 Windows函数调用26

1.4.6 大写标识符27

1.4.7 新数据类型28

1.4.9 匈牙利表示法30

1.4.8 获取句柄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.17 WM_PAINT消息45

1.4.18 WM_DESTROY消息47

1.4.19 模块定义文件48

1.5 Windows程序设计49

1.5.1 不同的调用方式50

1.5.2 排队和非排队消息52

1.5.3 非抢先多任务54

1.5.4 学习的过程55

第二章 文本画面57

2.1 绘图和重画58

2.1.1 WM_PAINT消息58

2.1.2 有效矩形和无效矩形59

2.2 GDI简介60

2.2.1 设备环境61

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

2.2.3 绘图信息结构63

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

2.2.5 TextOut(细节)66

2.2.6 系统字模68

2.2.7 字符尺寸69

2.2.8 文本点阵(细节)70

2.2.9 格式文本70

2.2.10 示范程序73

2.2.11 SYSMETS1.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.2 lParam变量116

3.2.3 虚拟键码118

3.2.4 Shift状态122

3.2.5 使用击键消息123

3.3 在SYSMETS中增加键盘接口124

3.3.1 增加WM_KEYDOWN逻辑125

3.3.2 发送消息127

3.4 字符消息138

3.4.1 WM_CHAR消息141

3.4.2 死字符消息142

3.5 浏览键盘消息143

3.6.1 插入记号函数152

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

3.6.2 TYPE程序154

3.7 WINDOWS字符集165

3.7.1 OEM字符集166

3.7.2 ANSI字符集168

3.7.3 OEM、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.2 POINT、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.6 CHECKER中的子窗口210

4.5 捕获鼠标219

4.5.1 BLOWUP1程序219

4.5.2 改变鼠标光标形状225

4.5.3 StretchBlt调用227

4.5.4 画出捕获的块227

第五章 计时器229

5.1 计时器基础知识231

5.1.1 SYSTEM.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.3 计时器用于状态报告255

5.2.7 第三种方法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.5 Windows的标准时间274

第六章 子窗口控制276

6.1 按钮类278

6.1.1 建立子窗口284

6.1.2 子窗口与父窗口对话286

6.1.3 父窗口与子窗口对话287

6.1.4 PUSH按钮288

6.1.5 检查框(check box)290

6.1.6 收音机按钮(radio button)291

6.1.7 GROUP框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.3 WM_CTLCOLOR消息299

6.3 静态类(static class)302

6.4 滚动条类(scrollbar class)304

6.4.1 COLORS1程序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.7 Windows的头346

6.6.8 2KB的空间浪费355

第七章 内存管理356

7.1 INTEL存储器的段模式358

7.2 Windows的内存组织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.4 Windows如何移动与重装入程序段377

7.4.1 远程函数的特殊处理378

7.4.2 Windows执行程序382

7.4.3 MakeProcInstance的作用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.1 SDKPAINT工具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.1 为什么要使用加速键528

9.3 加速键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.5 会话框的启动564

10.1.4 会话框过程的卸出564

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

10.1.7 其它会话框控制568

10.1.8 一个稍复杂的会话框571

10.1.9 会话框中控制的处理581

10.1.10 OK和Cancel按钮585

10.1.11 控制的分组587

10.1.12 会话框中绘图590

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

10.1.14 自定义控制591

10.2 消息框602

10.2.1 Assertion消息框604

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

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

10.3.1 O penFile函数607

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

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

10.3.4 DlgDirList函数和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.3 HEXCALC程序是窗口还是会话框664

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

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

第十一章 GDI引言681

11.1 GDI原理681

11.2 设备环境(DC)684

11.2.1 获取设备环境句柄684

11.2.2 获取设备环境信息687

11.2.3 DEVCAPS1程序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.7 WHATSIZE程序737

12.1 画点745

第十二章 作图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.6 ROP2和色彩767

12.3 绘制填充区域769

12.3.1 有界图形771

12.3.2 ARCS程序777

12.3.3 饼图的三角学784

12.3.4 Polygon函数和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.4 CLOVER程序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.1 DIB文件843

13.2 设备无关位图843

13.2.2 生成一个DIB846

13.3 内存设备环境848

13.4 强有力的BLT850

13.4.1 patBlt函数851

13.4.2 块传递(BLT)坐标854

13.4.3 使用BitBlt传递位856

13.4.4 DrawBitmap程序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.5 GrayString的简单用法910

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

14.2.1 字模的类型911

14.2 字体的背景知识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.3 DeviceMode调用1013

15.2.4 检查BitBlt性能1016

15.3 打印基础1017

15.3.1 Escape函数1017

15.3.2 FROMFEED1018

15.4 打印图形和文本1022

15.4.1 裸机打印1027

15.4.2 设置终止过程1030

15.4.3 Windows如何使用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.7 BLOWUP程序的改进版本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.2 DDE服务器程序样本1130

17.2.1 DDEPOP程序1152

17.2.2 WM_DDE_INITIATE消息1153

17.2.3 ServerProc窗口过程1154

17.2.4 WM_DDE_REQUEST消息1155

17.2.5 DDEPOP的PostDataMessage函数1157

17.2.6 WM_DDE_ADVISE消息1158

17.2.7 修改项1161

17.2.8 WM_DDE_UNADVISE消息1162

17.2.9 WM_DDE_TERMINATE消息1162

17.3 DDE顾客程序样本1163

17.3.1 开始DDE会话1176

17.3.2 WM_DDE_DATA消息1178

17.3.3 WM_DDE_TERMINATE消息1179

17.4 异常情况下的处理1180

18.1 MDI的要素1181

第十八章 多文件界面1181

18.2 WINDOWS 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.2 STRPROG和STRLIB1221

19.2.1 STRLIB库1222

19.2.2 生成文件的不同之处1227

19.2.3 库的入口点1228

19.2.4 STRLIB的函数1230

19.2.5 库模块定义文件1230

19.2.6 STRPROG程序1231

19.2.7 运行STRPROG1242

19.2.8 远程函数的引导代码1243

19.2.9 反调函数的用途1244

19.3 DS!=SS问题1246

19.4 库的其它限制1252

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

19.6 利用输入库1255

19.7 截获窗口函数调用1259

19.8 无输入的动态链接1261

19.9 资源库1262

《WINDOWS 编程指南》由于是年代较久的资料都绝版了,几乎不可能购买到实物。如果大家为了学习确实需要,可向博主求助其电子版PDF文件。对合法合规的求助,我会当即受理并将下载地址发送给你。

高度相关资料

WWW编程指南(1999 PDF版)
WWW编程指南
1999 北京:人民邮电出版社
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 杭州:浙江科学技术出版社;西蒙与舒斯特国际出版公司
JavaScript编程指南(1999 PDF版)
JavaScript编程指南
1999 北京:电子工业出版社