windows程序设计(珍藏版)PDF(精校书签)免费下载

作者: admin 分类: C++,电子书 发布时间: 2019-07-17 16:26

下载地址:https://u13576679.ctfile.com/fs/13576679-388071169

Windows程序设计(第5版珍藏版)

编辑讨论《Windows程序设计(第5版 珍藏版)》是由清华大学出版社于2010年出版的图书,作者是(美国)佩措尔德(Charles Petzold)。书    名《Windows程序设计(第5版)(珍藏版)》作    者(美国)佩措尔德(Charles Petzold)原版名称Programming Windows 5th Edition Book/CD Package译    者方敏 张胜 梁路平 等ISBN9787302227397页    数1114定    价129.00出版社清华大学出版社出版时间2010.09装    帧平装开    本16开

目录

  1. 编辑推荐
  2. 作者简介
  3. 目录

编辑推荐

编辑《Windows程序设计(第5版 珍藏版)》作为Windows开发人员的必备参考,涵盖基础知识和中高级主题,全面地介绍了Windows程序设计所涉及的细枝末节,旨在帮助读者从高屋见瓴的角度,建立完整的知识体系,为以后的职业生涯奠定良好的基础。全书共3部分23章。第1~12章着重介绍基础知识,第13~18章的主题为图形,第19~23章涉及更多高级主题。 适合任何层次的Windows程序员阅读和参考,是帮助他们梳理和建立Windows知识体系的理想读物。 [1]关于Windows开发的种种问题,大家都习惯性地“Look it up in Petzold”。在这部备受业内人士尊崇的经典著作中,Charles Petzold,这位荣获Windows Pioneer Award的作者,通过其清晰的结构、通俗的语言、睿智的见解,条分缕析地全面呈现了精彩的Windows编程世界。书中包含权威实例,适合任何层次的Windows程序员阅读和参考。配套CD含可运行于VS2008的全新范例。

作者简介

编辑佩措尔德(Charles Petzold),从1984年起,Charles Petzold就一直在从事个人计算机编程方面的写作工作,而且自1985年起就在微软Windows上编写程序。在1986年12月的Microsoft Systems Journal上,他发表了第一篇关 Windows编程的文章。在1986至1995年之间,他为PC Magazine系统环境专栏撰写了大量的文章,为读者们介绍Windows和OS/2编程的方方面面。
方敏,现任微软Windows国际软件工程首席测试部门主管,有着近20年软件测试管理和开发的丰富经验,曾参加过微软多项重大产品和技术的研制,包括Windows Server/Client/Security,SQL Server,Exchange Server,MSN,COM+Setvices,Windows Media及微软内部IT工具等。方敏拥有清华大学电子工程学学士和硕士学位,美国新墨西哥技术学院计算机硕士学位。张胜,现任微软总部高级软件开发测试主管,10余年软件开发测试和团队管理经验,参与Visual Studio,SQL Server,Office Live的开发、测试和发布,现主管Office Communications Server本地化软件开发测试工作。张胜拥有复旦大学计算机系硕士和学士学位。梁路平,获得清华大学计算机工程学士、加拿大滑铁卢大学计算机科学数学硕士和UBC。计算机科学博士等学位。曾任清华大学计算机系教师,加拿大BNR/Nortel高级网络系统科学家,美国Microsoft系统性能工程师,程序员及MSN项目经理。上世纪80年代,代表清华大学与加拿大CDNNET中心谈判,无偿引进网络软件开发环境EAN,并和中国因特网之父清华大学胡道元教授历史性地互换了中国大陆与北美之间的首封Email。业余喜欢掺和社区公益活动、希望工程、海外中文教育,喜欢和朋友相聚、读书、听音乐,跟家人一起周游世界。

目录

第1部分 基础知识

第1章 起步

1.1 Windows环境

1.1.1 Windows简史

1.1.2 Windows的方方面面

1.1.3 动态链接

1.2 Windows编程选项

1.2.1 API及内存管理模式

1.2.2 语言选择

1.2.3 编程环境

1.2.4 API文档

1.3 你的第一个Windows程序

1.3.1 字符模式

1.3.2 Windows对应程序

1.3.3 头文件

1.3.4 程序入口

1.3.5 MessageBox函数

1.3.6 编译、链接及运行

第2章Unicode简介

2.1 字符集简史

2.1.1 美国标准

2.1.2 美国以外的世界

2.1.3 扩展ASCII

2.1.4 双字节字符集

2.1.5 Unicode的解救方案

2.2 宽字符和c语言

2.2.1 char数据类型

2.2.2 更宽的字符

2.2.3 宽字符库函数

2.2.4 维护一个源代码文件

2.3 宽字符和Windows

2.3.1 Windows头文件的类型

2.3.2 Windows函数调用

2.3.3 Windows的字符串函数

2.3.4 在Windows中使用printf

2.3.5 格式化的消息框

2.3.6 国际化之于本书

第3章 窗口与消息

3.1 窗口的创建

3.1.1 系统结构概述

3.1.2 HELLOWIN程序

3.1.3 通盘考虑

3.1.4 窗口类的注册

3.1.5 窗口的创建

3.1.6 窗口的显示

3.1.7 消息循环

3.1.8 窗口过程

3.1.9 消息的处理

3.1.10 声音文件的播放

3.1.11 WM_PAINT消息

3.1.12 WM_DESTROY消息

3.2 Windows编程中的若干难点

3.2.1 究竟是谁调用谁

3.2.2 队列消息和非队列消息

3.2.3 速战速决

第4章 文本输出

4.1 绘制和重绘

4.1.1 WM_PAINT消息

4.1.2 有效矩形和无效矩形

4.2 GDI简介

4.2.1 设备环境

4.2.2 获取设备环境句柄:方法一

4.2.3 绘制信息结构

4.2.4 获取设备环境句柄:方法二

4.2.5 TEXTOUT函数详解

4.2.6 系统字体

4.2.7 字符大小

4.2.8 文本尺寸的度量

4.2.9 文本的格式化

4.2.10 综合使用

4.2.11 SYSMETSl.C窗口过程

4.2.12 空间不够

4.2.13 客户区的尺寸

4.3 滚动条

4.3.1 滚动条的范围和位置

4.3.2 滚动条消息

4.3.3 加入滚动条的SYSMET

4.3.4 程序的绘制代码的结构

4.4 效果更好的滚动

4.4.1 滚动条信息函数

4.4.2 最远可以卷动到哪里?

4.4.3 新的SYSMETS

4.4.4 可我不想用鼠标

第5章 绘图基础

5.1 GDI的结构

5.1.1 GDI原理

5.1.2 GDI函数调用

5.1.3 GDI的基本图形

5.1.4 其他

5.2 设备环境

5.2.1 获取设备环境句柄

5.2.2 获取设备环境的信息

5.2.3 DEVCAPSl程序

5.2.4 设备的尺寸

5.2.5 色彩ABC

5.2.6 设备环境属性

5.2.7 保存设备环境

5.3 点和线的绘制

5.3.1 设定像素

5.3.2 直线

5.3.3 边框绘制函数

5.3.4 贝塞尔样条曲线

5.3.5 使用现有画笔

5.3.6 创建、选择和删除画笔

5.3.7 填充空隙

5.3.8 绘图模式

5.4 绘制填充区域

5.4.1 Polygon函数和多边形填充模式

5.4.2 用画刷填充内部

5.5 GDI映射模式

5.5.1 设备坐标和逻辑坐标

5.5.2 设备坐标系统

5.5.3 视口和窗口

5.5.4 使用MMTEXT

5.5.5 度量映射模式

5.5.6 自定义的映射模式

5.5.7 WHATSIZE程序

5.6 矩形、区域和剪裁

5.6.1 处理矩形

5.6.2 随机矩形

5.6.3 建立和绘制区域

5.6.4 矩形与区域的剪裁

5.6.5 CLOVER程序

第6章 键盘

6.1 键盘基础

6.1.1 忽略键盘

6.1.2 谁获得了焦点?

6.1.3 队列和同步

6.1.4 击键和字符

6.2 击键消息

6.2.1 系统键击和非系统键击

6.2.2 虚拟键代码

6.2.3 1param信息

6.2.4 转义状态

6.2.5 使用击键消息

6.2.6 为SYSMETS加上键盘处理功能

6.3 字符消息

6.3.1 四类字符消息

6.3.2 消息排序

6.3.3 控制字符的处理

6.3.4 死字符消息

6.4 键盘消息和字符集

6.4.1 KEYVIEW1程序

6.4.2 非英语键盘问题

6.4.3 字符集和字体

6.4.4 Unicode解决方案

6.4.5 TrueType字体和大字体

6.5 插入符号(不是光标)

6.5.1 一些关于插入符号的函数

6.5.2 TYPER程序

第7章 鼠标

7.1 鼠标的基础知识

7.1.1 一些基本术语

7.1.2 鼠标的复数形式是什么?

7.2 客户区鼠标消息

7.2.1 简单的鼠标处理示例

7.2.2 处理Shift键

7.2.3 鼠标双击

7.3 非客户区鼠标消息

7.3.1 击中测试消息

7.3.2 消息引发消息

7.4 程序中的击中测试

7.4.1 一个假想的例子

7.4.2 一个简单的程序

7.4.3 使用键盘模仿鼠标操作

7.4.4 在CHECKER中增加键盘接口

7.4.5 在击中测试中使用子窗口

7.4.6 CHECKER程序中的子窗口

7.4.7 子窗口和键盘

7.5 捕获鼠标

7.5.1 设计一个矩形

7.5.2 捕获的解决方案

7.5.3 BLOKOUT2程序

7.6 鼠标的滚轮

第8章 计时器

8.1 计时器的基本知识

8.1.1 系统和计时器

8.1.2 计时器消息不是异步的

8.2 使用计时器的三种方法

8.2.1 方法一

8.2.2 方法二

8.2.3 方法三

8.3 使用计时器作为时钟

8.3.1 数字时钟

8.3.2 获取当前时间

8.3.3 显示数字和冒号

8.3.4 考虑国际化

8.3.5 模拟时钟

8.4 在状态报告上使用计时器

第9章 子窗口控件

9.1 按钮类

9.1.1 创建子窗口

9.1.2 子窗口传递信息给父窗口

9.1.3 父窗口传递信息给子窗口

9.1.4 按钮

9.1.5 复选框

9.1.6 单选按钮

9.1.7 组合框

9.1.8 改变按钮文本

9.1.9 可见的按钮和启用的按钮

9.1.10 按钮和输入焦点

9.2 控件和颜色

9.2.1 系统颜色

9.2.2 按钮的颜色

9.2.3 WMCTLCOLORBTN消息

9.2.4 自绘按钮

9.3 静态类

9.4 滚动条类

9.4.1 COLORS1程序

9.4.2 自动键盘接口

9.4.3 窗口子类

9.4.4 背景着色

9.4.5 给滚动条和静态文本着色

9.5 编辑类

9.5.1 编辑类的样式

9.5.2 编辑控件的通知消息

9.5.3 使用编辑控件

9.5.4 传递给编辑控件的消息

9.6 列表框类

9.6.1 列表框的样式

9.6.2 向列表框中添加字符串

9.6.3 项目的选择和提取

9.6.4 接收来自列表框的消息

9.6.5 简单的列表框程序

9.6.6 列出文件

9.6.7 Windows的HEAD程序

第10章 菜单和其他资源

10.1 图标、鼠标指针、字符串和自定义资源

10.1.1 向程序添加图标

10.1.2 获得图标的句柄

10.1.3 在应用程序中使用图标

10.1.4 使用自定义鼠标指针

10.1.5 字符串资源

10.1.6 自定义资源

10.2 菜单

10.2.1 和菜单有关的概念

10.2.2 菜单结构

10.2.3 定义菜单

10.2.4 在程序中引用菜单

10.2.5 菜单和消息

10.2.6 范例程序

10.2.7 菜单设计中的规范

10.2.8 定义菜单的繁琐方式

10.2.9 浮动弹出菜单

10.2.1 0使用系统菜单

10.2.1 1改变菜单

10.2.1 2其他菜单命令

10.2.1 3菜单的另类用法

10.3 键盘加速键

10.3.1 为什么你应该使用键盘加速键

10.3.2 指定加速键的一些规则

10.3.3 加速键表

10.3.4 加载加速键表

10.3.5 翻译按键

10.3.6 接收加速键消息

10.3.7 带有菜单和加速键的POPPAD程序

10.3.8 启用菜单项

10.3.9 处理菜单项

第11章 对话框

11.1 模态对话框

11.1.1 创建一个About对话框

11.1.2 对话框及其模板

11.1.3 对话框过程

11.1.4 激活对话框

11.1.5 主题变换

11.1.6 更复杂的对话框

11.1.7 对话框控件的应用

11.1.8 OK和Cancel按钮

11.1.9 避免全局变量

11.1.1 0Tab停靠和选项组

11.1.1 1在对话框上绘图

11.1.1 2关于对话框的其他函数.

11.1.1 3定义程序自己的控件

11.2 非模态对话框

11.2.1 模态与非模态对话框的区别

11.2.2 新的COLORS程序

11.2.3 HEXCALC:窗口还是对话框?

11.3 公用对话框

11.3.1 完善POPPAD

11.3.2 Unicode文件的读/写操作

11.3.3 改变字体

11.3.4 查找和替换

11.3.5 只调用一个函数的Windows程序

第12章剪贴板 447

12.1剪贴板的简单用法 447

12.1.1剪贴板数据的标准格式 447

12.1.2内存分配 449

12.1.3把文本传到剪贴板 451

12.1.4从剪贴板中取得文本 452

12.1.5打开和关闭剪贴板 453

12.1.6剪贴板和Unicode 453

12.2剪贴板的高级用法 457

12.2.1使用多种数据项 458

12.2.2延迟呈现 459

12.2.3私有数据类型 460

12.3实现一个剪贴板查看器 462

12.3.1剪贴板查看器链 463

12.3.2剪贴板查看器函数和消息 463

12.3.3一个简单的剪贴板查看器 465

第II部分关于图的那些事儿

第13章使用打印机 471

13.1打印基础 472

13.1.1打印和后台处理 472

13.1.2打印机设备环境 475

13.1.3DEVCAPS程序修订版 477

13.1.4PrinterProperties函数调用 485

13.1.5检查BitBlt的能力 485

13.1.6最简单的打印程序 486

13.2打印图形和文字 487

13.2.1打印精华 490

13.2.2用异常终止过程取消打印 491

13.2.3Windows如何使用

AbortProc 492

13.2.4实现异常终止过程 493

13.2.5增加一个打印对话框 495

13.2.6增加打印功能到POPPAD 498

第14章位图和位块传输 505

14.1位图基础 505

14.2位图尺寸 506

14.2.1颜色和位图 507

14.2.2现实世界的设备 507

14.2.3GDI中的位图支持 510

14.3位块传输 511

14.3.1简单的BitBlt 511

14.3.2拉伸位图 514

14.3.3StretchBlt模式 517

14.3.4光栅操作 517

14.3.5图案Blt 519

14.4GDI位图对象 522

14.4.1创建DDB 522

14.4.2位图的位 524

14.4.3内存设备环境 525

14.4.4加载位图资源 526

14.4.5单色位图格式 529

14.4.6位图画刷 532

14.4.7在位图上绘图 534

14.4.8阴影位图 537

14.4.9在菜单中使用位图 541

14.4.10非矩形的位图图像 552

14.4.11简单的动画效果 556

14.4.12窗口以外的位图 559

第15章设备无关位图 569

15.1DIB文件格式 569

15.1.1OS/2风格的DIB 570

15.1.2自下而上存储! 572

15.1.3DIB像素位 573

15.1.4Windows扩展DIB 574

15.1.5现实情况 577

15.1.6DIB压缩 578

15.1.7颜色遮罩 581

15.1.8版本4的文件头 583

15.1.9版本5的头文件 587

15.1.10显示DIB信息 588

15.2显示和打印 594

15.2.1探究DIB 595

15.2.2从像素到像素 597

15.2.3DIB的颠倒世界 604

15.2.4顺序显示 610

15.2.5拉伸到合适大小 617 [2] 

15.2.6颜色转换、调色板和性能 625

15.3DIB和DDB的结合 626

15.3.1从DIB创建DDB 627

15.3.2从DDB到DIB 633

15.3.3DIB区块 633

15.3.4DIB区块的更多不同点 640

15.3.5文件映射选项 641

第16章调色板管理器 643

16.1调色板的使用 643

16.1.1视频硬件 643

16.1.2显示灰色图像 644

16.1.3调色板的消息 650

16.1.4调色板索引方式 651

16.1.5查询对调色板的支持 654

16.1.6系统调色板 655

16.1.7其他的调色板函数 655

16.1.8光栅操作的问题 656

16.1.9查看系统调色板 657

16.2调色板动画 665

16.2.1弹球 666

16.2.2单一条目的调色板动画 672

16.2.3工程应用 676

16.3调色板和现实世界中的图像 680

16.3.1调色板和紧凑DIB 680

16.3.2通用调色板 688

16.3.3半色调调色板 693

16.3.4索引调色板颜色 697

16.3.5调色板和位图对象 702

16.3.6调色板和DIB区块 706

16.4一个DIB位图库的实现 711

16.4.1DIBSTRUCT结构 712

16.4.2信息获取函数 713

16.4.3读/写像素信息 719

16.4.4创建和转换 722

16.4.5DIBHELP头文件和宏 732

16.4.6DIBBLE程序 734

16.4.7简单的调色板和优化的

调色板 753

16.4.8格式转换 765

第17章文本和字体 769

17.1简单文本输出 769

17.1.1文本输出函数 769

17.1.2文本的设备环境属性 772

17.1.3使用库存字体 773

17.2字体的背景知识 774

17.2.1字体分类 774

17.2.2TrueType字体 775

17.2.3属性和样式的区别 776

17.2.4点值 776

17.2.5行间距和字间距 776

17.2.6逻辑英寸问题 777

17.3逻辑字体 778

17.3.1逻辑字体的创建和选择 778

17.3.2PICKFONT程序 779

17.3.3逻辑字体结构 792

17.3.4字体匹配算法 795

17.3.5获取字体信息 796

17.3.6字符集和Unicode 798

17.3.7EZFONT系统 799

17.3.8字体旋转 806

17.4字体枚举 807

17.4.1枚举函数 808

17.4.2ChooseFont对话框 808

17.5设置段落格式 816

17.5.1设置简单的文本格式 816

17.5.2段落的处理 817

17.5.3打印预览 824

17.6一些有趣和新奇的内容 833

17.6.1GDI路径 834

17.6.2扩展的画笔 835

17.6.3四个范例程序 838

第18章图元文件 845

18.1老式图元文件格式 845

18.1.1内存图元文件的简单用法 846

18.1.2把图元文件存储到磁盘 848

18.1.3老式的图元文件和剪贴板 849

18.2增强型图元文件 853

18.2.1基本步骤 853

18.2.2窥探内部机制 856

18.2.3图元文件和GDI对象 862

18.2.4图元文件和位图 867

18.2.5枚举图元文件 870

18.2.6嵌入图像 876

18.2.7增强型图元文件的查看

和打印程序 879

18.2.8显示精确的图元文件图像 887

18.2.9缩放比例和纵横比 895

18.2.10图元文件中的映射模式 897

18.2.11使用映射模式显示图元

文件 899

第III部分高级主题

第19章多文档界面 905 [2-3] 

19.1MDI的概念 905

19.1.1MDI的构成元素 905

19.1.2MDI支持 906

19.2MDI实现范例 907

19.2.1三个菜单 917

19.2.2程序初始化 917

19.2.3创建子窗口 918

19.2.4更多框架窗口消息的处理 919

19.2.5子文档窗口 920

19.2.6清理 922

第20章多任务和多线程 923

20.1多任务的模型 923

20.1.1DOS下的多任务 923

20.1.2非抢占式的多任务 924

20.1.3PM和串行消息队列 925

20.1.4多线程解决方案 925

20.1.5多线程架构 926

20.1.6线程的麻烦 927

20.1.7Windows的好处 927

20.1.8新的!改进过的!加了

线程的! 928

20.2Windows中的多线程 929

20.2.1随机矩形程序的多线程

版本 929

20.2.2编程竞赛问题 932

20.2.3多线程的解决方案 937

20.2.4还有问题吗? 944

20.2.5休眠的好处 945

20.3线程的同步 945

20.4触发事件 947

20.4.1BIGJOB1程序 947

20.4.2事件对象 951

20.5线程本地存储 955

第21章动态链接库 957

21.1关于库的基本知识 957

21.1.1库:一词多义 958

21.1.2一个简单的DLL 958

21.1.3库的入口点和退出点 961

21.1.4测试程序 962

21.1.5在DLL中共享内存 964

21.1.6STRPROG程序 969

21.1.7多个STRPROG实例共享

数据 973

21.2关于动态链接库的其他话题 974

21.2.1没有导入函数的动态

链接库 974

21.2.2资源库 975

第22章声音和音乐 979

22.1Windows和多媒体 979

22.1.1多媒体硬件 979

22.1.2API概述 980

22.1.3使用TESTMCI程序来

学习MCI 981

22.1.4TESTMCI和CD音频 985

22.2波形音频 989

22.2.1声音和波形 989

22.2.2脉冲编码调制 990

22.2.3采样率 990

22.2.4采样大小 991

22.2.5用软件生成正弦波 992

22.2.6数字录音机 1000

22.2.7使用MCI的录音机 1010

22.2.8用MCI命令字符串的

方法 1016

22.2.9波形音频文件格式 1019

22.2.10尝试使用加法合成 1021

22.2.11波形音频闹钟 1028

22.3MIDI和音乐 1035

22.3.1MIDI的工作方式 1035

22.3.2音色变换 1037

22.3.3MIDI通道 1037

22.3.4MIDI消息 1038

22.3.5MIDI序列简介 1040

22.3.6通过PC键盘演奏MIDI

合成器 1045

22.3.7MIDI打鼓机器 1059

22.3.8多媒体time函数 1075

22.3.9RIFF文件I/O 1078

第23章尝试互联网 1081

23.1Windows套接字 1081

23.1.1套接字和TCP/IP 1081

23.1.2网络时间服务 1082

23.1.3NETTIME程序 1083

23.2WinInet和FTP 1093

23.2.1FTPAPI概述 1094

23.2.2UPDDEMO程序 1095

如果觉得我的文章对您有用,请随意赞赏。您的支持将鼓励我继续创作!

发表评论

标签云