图书介绍
Windows程序设计 珍藏版【2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载】

- (美)佩措尔德著 著
- 出版社: 北京市:清华大学出版社
- ISBN:9787302227397
- 出版时间:2010
- 标注页数:1114页
- 文件大小:451MB
- 文件页数:1139页
- 主题词:窗口软件,Windows-程序设计
PDF下载
下载说明
Windows程序设计 珍藏版PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第Ⅰ部分 基础知识3
第1章 起步3
1.1 Windows环境3
1.1.1 Windows简史4
1.1.2 Windows的方方面面5
1.1.3 动态链接7
1.2 Windows编程选项8
1.2.1 API及内存管理模式8
1.2.2 语言选择9
1.2.3 编程环境11
1.2.4 API文档11
1.3 你的第一个Windows程序12
1.3.1 字符模式12
1.3.2 Windows对应程序13
1.3.3 头文件14
1.3.4 程序入口14
1.3.5 MessageBox函数16
1.3.6 编译、链接及运行17
第2章 Unicode简介19
2.1 字符集简史19
2.1.1 美国标准20
2.1.2 美国以外的世界21
2.1.3 扩展ASCII21
2.1.4 双字节字符集23
2.1.5 Unicode的解救方案24
2.2 宽字符和C语言24
2.2.1 char数据类型25
2.2.2 更宽的字符26
2.2.3 宽字符库函数27
2.2.4 维护一个源代码文件28
2.3 宽字符和Windows29
2.3.1 Windows头文件的类型29
2.3.2 Windows函数调用31
2.3.3 Windows的字符串函数32
2.3.4 在Windows中使用printf32
2.3.5 格式化的消息框34
2.3.6 国际化之于本书35
第3章 窗口与消息37
3.1 窗口的创建37
3.1.1 系统结构概述37
3.1.2 HELLOWIN程序39
3.1.3 通盘考虑41
3.1.4 窗口类的注册45
3.1.5 窗口的创建50
3.1.6 窗口的显示52
3.1.7 消息循环53
3.1.8 窗口过程54
3.1.9 消息的处理55
3.1.10 声音文件的播放55
3.1.11 WM_PAINT消息56
3.1.12 WM_DESTROY消息58
3.2 Windows编程中的若干难点58
3.2.1 究竟是谁调用谁58
3.2.2 队列消息和非队列消息60
3.2.3 速战速决61
第4章 文本输出63
4.1 绘制和重绘63
4.1.1 WM_PAINT消息64
4.1.2 有效矩形和无效矩形65
4.2 GDI简介65
4.2.1 设备环境66
4.2.2 获取设备环境句柄:方法一66
4.2.3 绘制信息结构67
4.2.4 获取设备环境句柄:方法二69
4.2.5 TEXTOUT函数详解70
4.2.6 系统字体71
4.2.7 字符大小71
4.2.8 文本尺寸的度量72
4.2.9 文本的格式化73
4.2.10 综合使用74
4.2.11 SYSMETS1.C窗口过程80
4.2.12 空间不够81
4.2.13 客户区的尺寸81
4.3 滚动条82
4.3.1 滚动条的范围和位置83
4.3.2 滚动条消息85
4.3.3 加入滚动条的SYSMETS86
4.3.4 程序的绘制代码的结构90
4.4 效果更好的滚动91
4.4.1 滚动条信息函数91
4.4.2 最远可以卷动到哪里?93
4.4.3 新的SYSMETS93
4.4.4 可我不想用鼠标98
第5章 绘图基础99
5.1 GDI的结构99
5.1.1 GDI原理99
5.1.2 GDI函数调用101
5.1.3 GDI的基本图形101
5.1.4 其他102
5.2 设备环境103
5.2.1 获取设备环境句柄103
5.2.2 获取设备环境的信息105
5.2.3 DEVCAPS1程序105
5.2.4 设备的尺寸108
5.2.5 色彩ABC113
5.2.6 设备环境属性115
5.2.7 保存设备环境116
5.3 点和线的绘制117
5.3.1 设定像素117
5.3.2 直线118
5.3.3 边框绘制函数122
5.3.4 贝塞尔样条曲线127
5.3.5 使用现有画笔131
5.3.6 创建、选择和删除画笔132
5.3.7 填充空隙135
5.3.8 绘图模式136
5.4 绘制填充区域137
5.4.1 Polygon函数和多边形填充模式138
5.4.2 用画刷填充内部142
5.5 GDI映射模式144
5.5.1 设备坐标和逻辑坐标145
5.5.2 设备坐标系统146
5.5.3 视口和窗口147
5.5.4 使用MM_TEXT148
5.5.5 度量映射模式151
5.5.6 自定义的映射模式153
5.5.7 WHATSIZE程序158
5.6 矩形、区域和剪裁161
5.6.1 处理矩形161
5.6.2 随机矩形162
5.6.3 建立和绘制区域166
5.6.4 矩形与区域的剪裁167
5.6.5 CLOVER程序168
第6章 键盘173
6.1 键盘基础173
6.1.1 忽略键盘173
6.1.2 谁获得了焦点?174
6.1.3 队列和同步175
6.1.4 击键和字符175
6.2 击键消息176
6.2.1 系统键击和非系统键击176
6.2.2 虚拟键代码177
6.2.3 lparam信息180
6.2.4 转义状态181
6.2.5 使用击键消息182
6.2.6 为SYSMETS加上键盘处理功能183
6.3 字符消息188
6.3.1 四类字符消息189
6.3.2 消息排序190
6.3.3 控制字符的处理191
6.3.4 死字符消息192
6.4 键盘消息和字符集192
6.4.1 KEYVIEW1程序193
6.4.2 非英语键盘问题197
6.4.3 字符集和字体199
6.4.4 Unicode解决方案207
6.4.5 TrueType字体和大字体208
6.5 插入符号(不是光标)213
6.5.1 一些关于插入符号的函数214
6.5.2 TYPER程序215
第7章 鼠标221
7.1 鼠标的基础知识221
7.1.1 一些基本术语222
7.1.2 鼠标的复数形式是什么?223
7.2 客户区鼠标消息223
7.2.1 简单的鼠标处理示例225
7.2.2 处理Shift键228
7.2.3 鼠标双击229
7.3 非客户区鼠标消息230
7.3.1 击中测试消息231
7.3.2 消息引发消息231
7.4 程序中的击中测试232
7.4.1 一个假想的例子232
7.4.2 一个简单的程序233
7.4.3 使用键盘模仿鼠标操作236
7.4.4 在CHECKER中增加键盘接口237
7.4.5 在击中测试中使用子窗口240
7.4.6 CHECKER程序中的子窗口240
7.4.7 子窗口和键盘244
7.5 捕获鼠标249
7.5.1 设计一个矩形249
7.5.2 捕获的解决方案252
7.5.3 BLOKOUT2程序253
7.6 鼠标的滚轮255
第8章 计时器263
8.1 计时器的基本知识263
8.1.1 系统和计时器264
8.1.2 计时器消息不是异步的264
8.2 使用计时器的三种方法265
8.2.1 方法一265
8.2.2 方法二268
8.2.3 方法三271
8.3 使用计时器作为时钟271
8.3.1 数字时钟271
8.3.2 获取当前时间275
8.3.3 显示数字和冒号275
8.3.4 考虑国际化276
8.3.5 模拟时钟277
8.4 在状态报告上使用计时器281
第9章 子窗口控件285
9.1 按钮类286
9.1.1 创建子窗口289
9.1.2 子窗口传递信息给父窗口290
9.1.3 父窗口传递信息给子窗口291
9.1.4 按钮292
9.1.5 复选框293
9.1.6 单选按钮294
9.1.7 组合框294
9.1.8 改变按钮文本295
9.1.9 可见的按钮和启用的按钮295
9.1.10 按钮和输入焦点296
9.2 控件和颜色297
9.2.1 系统颜色297
9.2.2 按钮的颜色298
9.2.3 WM_CTLCOLORBTN消息299
9.2.4 自绘按钮300
9.3 静态类305
9.4 滚动条类306
9.4.1 COLORS1程序307
9.4.2 自动键盘接口312
9.4.3 窗口子类313
9.4.4 背景着色313
9.4.5 给滚动条和静态文本着色314
9.5 编辑类315
9.5.1 编辑类的样式317
9.5.2 编辑控件的通知消息318
9.5.3 使用编辑控件318
9.5.4 传递给编辑控件的消息319
9.6 列表框类320
9.6.1 列表框的样式320
9.6.2 向列表框中添加字符串321
9.6.3 项目的选择和提取322
9.6.4 接收来自列表框的消息323
9.6.5 简单的列表框程序324
9.6.6 列出文件327
9.6.7 Windows的HEAD程序328
第10章 菜单和其他资源333
10.1 图标、鼠标指针、字符串和自定义资源333
10.1.1 向程序添加图标334
10.1.2 获得图标的句柄338
10.1.3 在应用程序中使用图标340
10.1.4 使用自定义鼠标指针341
10.1.5 字符串资源342
10.1.6 自定义资源344
10.2 菜单350
10.2.1 和菜单有关的概念350
10.2.2 菜单结构351
10.2.3 定义菜单351
10.2.4 在程序中引用菜单352
10.2.5 菜单和消息353
10.2.6 范例程序355
10.2.7 菜单设计中的规范359
10.2.8 定义菜单的繁琐方式360
10.2.9 浮动弹出菜单361
10.2.10 使用系统菜单365
10.2.11 改变菜单367
10.2.12 其他菜单命令368
10.2.13 菜单的另类用法369
10.3 键盘加速键373
10.3.1 为什么你应该使用键盘加速键373
10.3.2 指定加速键的一些规则373
10.3.3 加速键表374
10.3.4 加载加速键表374
10.3.5 翻译按键375
10.3.6 接收加速键消息376
10.3.7 带有菜单和加速键的POPPAD程序376
10.3.8 启用菜单项381
10.3.9 处理菜单项382
第11章 对话框385
11.1 模态对话框385
11.1.1 创建一个About对话框386
11.1.2 对话框及其模板389
11.1.3 对话框过程391
11.1.4 激活对话框392
11.1.5 主题变换393
11.1.6 更复杂的对话框396
11.1.7 对话框控件的应用401
11.1.8 OK和Cancel按钮403
11.1.9 避免全局变量405
11.1.10 Tab停靠和选项组406
11.1.11 在对话框上绘图407
11.1.12 关于对话框的其他函数408
11.1.13 定义程序自己的控件408
11.2 非模态对话框413
11.2.1 模态与非模态对话框的区别414
11.2.2 新的COLORS程序415
11.2.3 HEXCALC:窗口还是对话框?419
11.3 公用对话框425
11.3.1 完善POPPAD426
11.3.2 Unicode文件的读/写操作443
11.3.3 改变字体443
11.3.4 查找和替换444
11.3.5 只调用一个函数的Windows程序444
第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 剪贴板和Unicode453
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
第Ⅱ部分 关于图的那些事儿第13章 使用打印机471
13.1 打印基础472
13.1.1 打印和后台处理472
13.1.2 打印机设备环境475
13.1.3 DEVCAPS程序修订版477
13.1.4 PrinterProperties函数调用485
13.1.5 检查BitBlt的能力485
13.1.6 最简单的打印程序486
13.2 打印图形和文字487
13.2.1 打印精华490
13.2.2 用异常终止过程取消打印491
13.2.3 Windows如何使用AbortProc492
13.2.4 实现异常终止过程493
13.2.5 增加一个打印对话框495
13.2.6 增加打印功能到POPPAD498
第14章 位图和位块传输505
14.1 位图基础505
14.2 位图尺寸506
14.2.1 颜色和位图507
14.2.2 现实世界的设备507
14.2.3 GDI中的位图支持510
14.3 位块传输511
14.3.1 简单的BitBlt511
14.3.2 拉伸位图514
14.3.3 StretchBlt模式517
14.3.4 光栅操作517
14.3.5 图案Blt519
14.4 GDI位图对象522
14.4.1 创建DDB522
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.1 DIB文件格式569
15.1.1 OS/2风格的DIB570
15.1.2 自下而上存储!572
15.1.3 DIB像素位573
15.1.4 Windows扩展DIB574
15.1.5 现实情况577
15.1.6 DIB压缩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 探究DIB595
15.2.2 从像素到像素597
15.2.3 DIB的颠倒世界604
15.2.4 顺序显示610
15.2.5 拉伸到合适大小617
15.2.6 颜色转换、调色板和性能625
15.3 DIB和DDB的结合626
15.3.1 从DIB创建DDB627
15.3.2 从DDB到DIB633
15.3.3 DIB区块633
15.3.4 DIB区块的更多不同点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 调色板和紧凑DIB680
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.1 DIBSTRUCT结构712
16.4.2 信息获取函数713
16.4.3 读/写像素信息719
16.4.4 创建和转换722
16.4.5 DIBHELP头文件和宏732
16.4.6 DIBBLE程序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.2 TrueType字体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.2 PICKFONT程序779
17.3.3 逻辑字体结构792
17.3.4 字体匹配算法795
17.3.5 获取字体信息796
17.3.6 字符集和Unicode798
17.3.7 EZFONT系统799
17.3.8 字体旋转806
17.4 字体枚举807
17.4.1 枚举函数808
17.4.2 ChooseFont对话框808
17.5 设置段落格式816
17.5.1 设置简单的文本格式816
17.5.2 段落的处理817
17.5.3 打印预览824
17.6 一些有趣和新奇的内容833
17.6.1 GDI路径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
第Ⅲ部分 高级主题905
第19章 多文档界面905
19.1 MDI的概念905
19.1.1 MDI的构成元素905
19.1.2 MDI支持906
19.2 MDI实现范例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.1 DOS下的多任务923
20.1.2 非抢占式的多任务924
20.1.3 PM和串行消息队列925
20.1.4 多线程解决方案925
20.1.5 多线程架构926
20.1.6 线程的麻烦927
20.1.7 Windows的好处927
20.1.8 新的!改进过的!加了线程的!928
20.2 Windows中的多线程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.1 BIGJOB1程序947
20.4.2 事件对象951
20.5 线程本地存储955
第21章 动态链接库957
21.1 关于库的基本知识957
21.1.1 库:一词多义958
21.1.2 一个简单的DLL958
21.1.3 库的入口点和退出点961
21.1.4 测试程序962
21.1.5 在DLL中共享内存964
21.1.6 STRPROG程序969
21.1.7 多个STRPROG实例共享数据973
21.2 关于动态链接库的其他话题974
21.2.1 没有导入函数的动态链接库974
21.2.2 资源库975
第22章 声音和音乐979
22.1 Windows和多媒体979
22.1.1 多媒体硬件979
22.1.2 API概述980
22.1.3 使用TESTMCI程序来学习MCI981
22.1.4 TESTMCI和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.3 MIDI和音乐1035
22.3.1 MIDI的工作方式1035
22.3.2 音色变换1037
22.3.3 MIDI通道1037
22.3.4 MIDI消息1038
22.3.5 MIDI序列简介1040
22.3.6 通过PC键盘演奏MIDI合成器1045
22.3.7 MIDI打鼓机器1059
22.3.8 多媒体time函数1075
22.3.9 RIFF文件I/O1078
第23章 尝试互联网1081
23.1 Windows套接字1081
23.1.1 套接字和TCP/IP1081
23.1.2 网络时间服务1082
23.1.3 NETTIME程序1083
23.2 WinInet和FTP1093
23.2.1 FTP API概述1094
23.2.2 UPDDEMO程序1095
热门推荐
- 2000128.html
- 38091.html
- 1266465.html
- 1906599.html
- 2340676.html
- 3061907.html
- 893768.html
- 1298377.html
- 1052847.html
- 3636521.html
- http://www.ickdjs.cc/book_437473.html
- http://www.ickdjs.cc/book_137339.html
- http://www.ickdjs.cc/book_833768.html
- http://www.ickdjs.cc/book_1613615.html
- http://www.ickdjs.cc/book_3681154.html
- http://www.ickdjs.cc/book_1863018.html
- http://www.ickdjs.cc/book_3526835.html
- http://www.ickdjs.cc/book_1934035.html
- http://www.ickdjs.cc/book_774217.html
- http://www.ickdjs.cc/book_1137351.html