求真百科歡迎當事人提供第一手真實資料,洗刷冤屈,終結網路霸凌。

Windows程序设计查看源代码讨论查看历史

跳转至: 导航搜索
Windows程序设计

来自 网络 的图片

《Windows程序设计(第5版 珍藏版)》是2010年清华大学出版社出版的图书,作者是(美)佩措尔德,译者是方敏、张胜、梁路平。

基本内容

定价:129.00元

出版时间:2010年9月1日

开本:16开

ISBN:9787302227397

出版社:清华大学出版社

作者:佩措尔德(CharlesPetzold)

译者:方敏、张胜、梁路平

书名:Windows程序设计

内容简介

作为Windows开发人员的必备参考,涵盖基础知识和中高级主题,全面地介绍了Windows程序设计所涉及的细枝末节,旨在帮助读者从高屋建瓴的角度,建立完整的知识体系,为以后的职业生涯奠定良好的基础。全书共3部分23章。第1~12章着重介绍基础知识,第13~18章的主题为图形,第19~23章涉及更多高级主题。

《Windows程序设计(第5版 珍藏版)》适合任何层次的Windows程序员阅读和参考,是帮助他们梳理和建立Windows知识体系的理想读物。

目录

第Ⅰ部分 基础知识

第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.5MessageBox函数

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.11WM_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.4Unicode解决方案

6.4.5TrueType字体和大字体

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章 剪贴板

12.1 剪贴板的简单使用

12.1.1 标准剪贴板数据格式

12.1.2 内存分配

12.1.3 将文本传送到剪贴板

12.1.4 从剪贴板上获取文本

12.1.5 打开和关闭剪贴板

12.1.6 剪贴板和unicode

12.2 复杂的剪贴板用法

12.2.1 利用多个数据项

12.2.2 延迟生成

12.2.3 私有数据格式

12.3 实现剪贴极查看器

12.3.1 剪贴板查看器链

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

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

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

第13章 使用打印机

13.1 打印基础

13.1.1 打印和后台处理

13.1.2 打印机设备环境

13.1.3 修改后的DEVCAPS程序

13.1.4 PrinterProperties调用

13.1.5 检查BitBlt能力

13.1.6 最简单的打印程序

13.2 打印图形和文本

13.2.1 打印的基本过程

13.2.2 使用中止过程来取消打印

13.2.3 Windows如何使用AbortProc

13.2.4 实现中止过程

13.2.5 添加打印对话框

13.2.6 为POPPAD增加打印功能

第14章 位图和Bitblt

14.1 位图基础

14.1.1 位图的来源

14.2 位图尺寸

14.2.1 颜色和位图

14.2.2 现实世界的设备

14.2.3 GDI 支持的位图

14.3 位块传输

14.3.1 简单的BitBlt

14.3.2 拉伸位图

14.3.3 StretchBlt模式

14.3.4 光栅操作

14.3.5 图案Blt

14.4 GDI 位图对象

14.4.1 创建DDB

14.4.2 位图位

14.4.3 内存设备环境

14.4.4 加载位图资源

14.4.5 单色位图格式

14.4.6 用位图作画刷

14.4.7 绘制位图

14.4.8 阴影位图

14.4.9 在功能表中使用位图

14.4.10 非矩形位图图像

14.4.11 简单的动画

14.4.12 视窗外的位图

第15章 与装置无关的位图

15.1 DIB档案格式

15.1.1 OS/2样式的DIB

15.1.2 由下而上

15.1.3 DIB图素位元

15.1.4 扩展的Windows DIB

15.1.5 真实检查

15.1.6 DIB压缩

15.2 颜色遮罩(COLOR MASKING)

15.2.1 第4 版本的Header

15.2.2 第5 版的Header

15.2.3 显示DIB资讯

15.3 显示和列印

15.3.1 了解DIB

15.3.2 点对点图素显示

15.3.3 DIB的颠倒世界

15.3.4 循序显示

15.3.5 缩放到合适尺寸

15.3.6 色彩转换、调色盘和显示效能

15.4 DIB和DDB的结合

15.4.1从DIB建立DDB

15.4.2从DDB到DIB

15.4.3 DIB区块

15.4.4 DIB区块的其他区别

15.4.5 档案映射选项

15.4.6 总结

第16章 调色盘管理器

16.1 使用调色盘

16.1.1 视频硬体

16.1.2 显示灰阶

16.1.3 调色盘资讯

16.1.4 调色盘索引方法

16.1.5 查询调色盘支援

16.1.6 系统调色盘

16.1.7 其他调色盘函式

16.1.8 位元映射操作问题

16.1.9 查看系统调色盘

16.2 调色盘动画

16.2.1 跳动的球

16.2.2 一个项目的调色盘动画

16.2.3 工程应用程序

16.3 调色盘和真实世界图像

16.3. 1 调色盘和packed DIB

16.3.2 「通用」调色盘

16.3.3 中间色调色盘

16.3.4 索引调色盘颜色

16.3.5 调色盘和位图对象

16.3.6 调色盘和DIB区块

16.4 DIB处理程序库

16.4.1 DIBSTRUCT结构

16.4.2 资讯函式

16.4.3 读、写图素

16.4.4 建立和转换

16.4.5 DIBHELP 表头档案和巨集

16.4.6 DIBBLE程序

16.4.7 简单调色盘;最佳化调色盘

16.4.8 均匀分布

16.6 转换格式

第17章 文字和字体

17.1 简单的文字输出

17.1.1 文字输出函式

17.1.2 文字的装置内容属性

17.1.3 使用备用字体

17.2 字体的背景

17.2.1 字体型态

17.2.2 TrueType 字体

17.2.3 属性或样式

17.2.4 间隔和间距

17.2.5 逻辑英寸问题

17.3 逻辑字体

17.3.1 逻辑字体的建立和选择

17.3.2 PICKFONT程序

17.3.3 逻辑字体结构

17.3.4 字体映射演算法

17.3.5 取得字体资讯

17.3.6 字元集和Unicode

17.3.7 EZFONT系统

17.3.8 字体的旋转

17.4 字体列举

17.4.1 列举函式

17.4.2 「ChooseFont」对话方块

17.5 段落格式

17.5.1 简单文字格式

17.5.2 使用段落

17.5.3 列印输出预览

17.6 有趣的东西

17.6.1 GDI 绘图路径

17.6.2 扩展画笔

17.6.3 四个范例程序

第18章 METAFILE

18.1 旧的METAFILE格式

18.1.1 记忆体metafile 的简单利用

18.1.将metafile储存在磁碟上

18.1.老式metafile 与剪贴簿

18.2增强型METAFILE

18.2.1 基本程序

18.2.2 揭开内幕

18.2.3 metafile 与GDI 对象

18.2.4 metafile 和位图

18.2.5 列举metafile 内容

18.2.6 嵌入图像

18.2.7 增强型metafile 阅览器和印表机

18.2.8 显示精确的metafile图像

18.2.9 缩放比例和纵横比

18.2.10 metafile 中的映射方式

18.2.11 映射与显示

第Ⅲ部分 高级主题

第19章 多重文件介面

19.1 MDI 概念

19.1.1 MDI 的组成

19.1.2 MDI 支援

19.2 MDI 的范例程序

19.2.1 三个功能表

19.2.2 程序初始化

19.2.3 建立子视窗

19.2.4 关於框架视窗的讯息处理

19.2.5 子文件视窗

19.2.6 结束处理

第20章 多工和多线程

20.1 多工的各种模式

20.1.1 DOS下的多工

20.1.2 非优先权式的多工

20.1.3 Presentation Manager 和序列化的讯息伫列

20.1.4多线程解决方案

20.1.5 多线程架构

20.1.6 执行绪间的「争吵」

20.1.7 Windows 的好处

20.1.8 新改良过的!支援多线程了!

20.2 WINDOWS的多线程处理

20.2.1 再论随机矩形

20.2.2 程序设计竞赛的问题

20.2.3 多线程解决方案

20.2.4 有问题吗?

20.2.5 Sleep 的好处

20.3 执行绪同步

20.3.1 临界区域

20.3.2 事件信号

20.3.3 BIGJOB1 程序

20.3.4 事件对象

20.3.5 执行绪区域储存空间(TLS)

第21章 动态连结程序库

21.1 动态连结程序库的基本知识

21.1.1 程序库:一词多义

21.1.2 一个简单的DLL

21.1.3 程序库入口/出口点

21.1.4 测试程序

21.1.在DLL中共用记忆体

21.1.5 STRPROG程序

21.1.6 在STRPROG执行实体之间共用资料

21.2 各式各样的DLL讨论

21.2.1 不用输入引用资讯的动态连结

21.2.2 纯资源程序库

第22章 声音与音乐

22.1 WINDOWS 和多媒体

22.1.1 多媒体硬体

22.1.2 API 概述

22.1.3 用TESTMCI研究MCI

22.1.4 MCITEXT 和CD声音

22.2 波形声音

22.2.1 声音与波形

22.2.2 脉冲编码调制(Pulse Code Modulation)

22.2.3 取样频率

22.2.4 样本大小

22.2.5 在软体中产生正弦波

22.2.6 数位录音机

22.2.7 另一种MCI 介面

22.2.8 MCI 命令字串的方法

22.2.9 波形声音档案格式

22.2.10 叠加合成实验

22.2.11 起床号波形声音

22.3 MIDI 和音乐

22.3.1 使用MIDI

22.3.2 程序更改

22.3.3 MIDI 通道

22.3.4 MIDI 讯息

22.3.5 MIDI 编曲简介

22.3.6 通过键盘演奏MIDI 合成器

22.3.7 MIDI 击鼓器

22.3.8 多媒体time 函式

22.3.9 RIFF档案I/O

第23章 领略INTERNET

23.1 WINDOWS 套接字

23.1.1 套接字和TCP/IP

23.1.2 网络时间服务

23.1.3 NETTIME 程序

23.2 WININET 和FTP

23.2.1 FTP API概况

23.2.2 更新展示程序[1]

参考文献