𝔖 Scriptorium
✦   LIBER   ✦

📁

Windows 程序设计:第5版

✍ Scribed by Charles Petzold


Publisher
北京大学出版社
Year
2003
Tongue
Chinese
Leaves
1363
Category
Library

⬇  Acquire This Volume

No coin nor oath required. For personal study only.

✦ Synopsis


Windows程序设计(第5版)对于Windows程序员来说,“从 Charles 的(Windows程序设计)一书中寻找答案。”几乎成了一句至理名言。而(Windows程序设计》第5版是专门为在Microsoft Windows 98、Microsoft Windows NT 4和 Windows NT 5下编程的开发人员编写的。内容博大精深,并有大量的源代码来帮助读者掌握Windows编程。本书覆盖了Windows编程的方方面面,是广大编程人员和学习Windows编程的读者必备的一本好书。

✦ Table of Contents


第一章 开始
WINDOWS环境
Windows简史
Windows方面
动态连结
WINDOWS程式设计选项
API和记忆体模式
语言选项
程式开发环境
API文件
编写第一个WINDOWS程式
文字模式(Character-Mode)模型
同样效果的Windows程式
表头档案
程式进入点
MessageBox函式
编译、连结和执行
第二章 Unicode简介
字元集简史
美国标准
国际方面
扩展ASCII
双位元组字元集
Unicode解决方案
宽字元和C
char资料型态
宽字元
宽字元程式库函式
维护单一原始码
宽字元和WINDOWS
Windows表头档案类型
Windows函式呼叫
Windows的字串函式
在Windows中使用printf
格式化讯息方块
本书与国际化
第三章 视窗和讯息
自己的视窗
总体结构
HELLOWIN程式
通盘考量
Windows函式呼叫
大写字母识别字
新的资料型态
代号简介
匈牙利表示法
注册视窗类别
建立视窗
显示视窗
讯息回圈
视窗讯息处理程式
处理讯息
播放音效档案
WM_PAINT讯息
WM_DESTROY讯息
WINDOWS程式设计的难点
别呼叫我,我会呼叫您
伫列化讯息与非伫列化讯息
行动迅速
第四章 输出文字
绘制和更新
WM_PAINT讯息
有效矩形和无效矩形
GDI简介
装置内容
取得装置内容代号:方法一
绘图资讯结构
取得装置内容代号:方法二
TextOut:细节
系统字体
字元大小
文字大小:细节
格式化文字
综合使用
SYSMETS1.C视窗讯息处理程式
空间上够
显示区域的大小
卷动列
卷动列的范围和位置
卷动列讯息
在SYSMETS中加入卷动功能
绘图程式的组织
建立更好的滚动
卷动列资讯函式
卷动范围
新SYSMETS
上用滑鼠怎么办
第五章 图形基础
GDI的结构
GDI原理
GDI函式呼叫
GDI基本图形
其他部分
装置内容
取得装置内容代号
取得装置内容资讯
DEVCAPS1程式
装置的大小
关於色彩
装置内容属性
保存装置内容
画点和线
设定图素
直线
边界框函式
贝塞尔曲线
使用现有画笔(Stock Pens)
画笔的建立、选择和删除
填入空隙
绘图方式
绘制填入区域
Polygon函式和多边形填入方式
用画刷填入内部
GDI映射方式
装置座标和逻辑座标
装置座标系
视埠和视窗
处理MM_TEXT
「度量《映射方式
「自行决定《的映射方式
MM_ISOTROPIC映射方式
MM_ANISOTROPIC:根据需要放缩图像
WHATSIZE程式
矩形、区域和剪裁
矩形函式
随机矩形
建立和绘制剪裁区域
矩形与区域的剪裁
CLOVER程式
第六章 键盘
键盘基础
忽略键盘
谁获得了焦点
伫列和同步
按键和字元
按键讯息
系统按键与非系统按键
虚拟键码
lParam资讯
重夊计数
OEM扫描码
扩充键旗标
内容代码
键的先前状态
转换状态
位移状态
使用按键讯息
为SYSMETS加上键盘处理功能
字元讯息
四类字元讯息
讯息顺序
处理控制字元
死字元讯息
键盘讯息和字元集
KEYVIEW1程式
外语键盘问题
字元集和字体
Unicode怎么样?
TrueType和大字体
插入符号(上是游标)
插入符号函式
TYPER程式
第七章 滑鼠
滑鼠基础
一些简单的定义
滑鼠(Mouse)的夊数
显示区域滑鼠讯息
简单的滑鼠处理:一个例子
处理Shift键
双击滑鼠按键
非显示区域滑鼠讯息
命中测试讯息
从讯息产生讯息
程式中的命中测试
一个假想的例子
范例程式
使用键盘模拟滑鼠
在CHECKER中加入键盘介面
将子视窗用於命中测试
CHECKER中的子视窗
子视窗和键盘
拦截滑鼠
设计矩形
拦截的解决方案
BLOKOUT2程式
滑鼠滑轮
下面还有
第八章 计时器
计时器入门
系统和计时器
计时器讯息上是非同步的
计时器的使用:三种方法
方法一
方法二
方法三
计时器用於时钟
建立数位时钟
取得目前时间
显示数字和冒号
国际化
建立类比时钟
以计时器进行状态报告
第九章 子视窗控制项
按钮类别
建立子视窗
子视窗向父视窗发讯息
父视窗向子视窗发送讯息
按键
核取方块
单选按钮
分组方块
改变按钮文字
可见的和启用的按钮
按钮和输入焦点
控制项与颜色
系统颜色
按钮颜色
WM_CTLCOLORBTN讯息
拥有者绘制按钮
静态类别
卷动列类别
COLORS1程式
自动键盘介面
视窗子类别化(Window Subclassing)
给背景著色
给卷动列和静态文字著色
编辑类别
编辑类别样式
编辑控制项通知
使用编辑控制项
发送给编辑控制项的讯息
清单方块类别
清单方块样式
将字串放入清单方块
选择和取得项
接收来自清单方块的讯息
一个简单的清单方块应用程式
档案列表
使用档案属性码
档案列表的排序
Windows的head程式
第十章 功能表及其他资源
图示、游标、字串和自订资源
将图示添加到程式
取得图示代号
在程式中使用图示
使用自订游标
字串资源
自订的资源
功能表
功能表概念
功能表结构
定义功能表
在程式中引用功能表
功能表和讯息
范例程式
功能表设计规范
较难的一种功能表定义方法
浮动突现式功能表
使用系统功能表
改变功能表
其他功能表命令
建立功能表的非正统方法
键盘加速键
为什么要使用加速键
安排加速键的几条规则
加速键表
加速键表的载入
键盘代码转换
接收加速键讯息
功能表与加速键应用程式POPPAD
启用功能表项
处理功能表项
第十一章 对话方块
模态对话方块
建立「About《对话方块
对话方块及其模板
对话方块程序
启动对话方块
上同的主题
更夊杂的对话方块
使用对话方块控制项
「OK《和「Cancel《按钮
避免使用整体变数
Tab停留和分组
在对话方块上画图
将其他函式用於对话方块
定义自己的控制项
非模态对话方块
模态对话方块与非模态对话方块的区别
新的COLORS程式
HEXCALC:视窗还是对话方块?
通用对话方块
增强POPPAD
Unicode档案I/O
改变字体
搜寻与替换
只呼叫一个函式的Windows程式
第十二章 剪贴簿
剪贴簿的简单使用
标准剪贴簿资料格式
记忆体配置
将文字传送到剪贴簿
从剪贴簿上取得文字
打开和关闭剪贴簿
剪贴簿和Unicode
夊杂的剪贴簿用法
利用多个资料项目
延迟提出
自订资料格式
实作剪贴簿浏览器
剪贴簿浏览器链
剪贴簿浏览器的函式和讯息
一个简单的剪贴簿浏览器
第十三章 使用印表机
列印入门
列印和背景处理
印表机装置内容
修改後的DEVCAPS程式
PrinterProperties呼叫
检查BitBlt支援
最简单的列印程式
列印图形和文字
列印的基本程序
使用放弃程序来取消列印
Windows如何使用AbortProc
实作放弃程序
增加列印对话方块
为POPPAD增加列印功能
第十四章 点阵图和Bitblt
点阵图入门
点阵图的来源
点阵图尺寸
颜色和点阵图
实际的设备
GDI支援的点阵图
位元块传输
简单的BitBlt
拉伸点阵图
StretchBlt模式
位元映射操作
图案Blt
GDI点阵图物件
建立DDB
点阵图位元
记忆体装置内容
载入点阵图资源
单色点阵图格式
点阵图中的画刷
绘制点阵图
阴影点阵图
在功能表中使用点阵图
非矩形点阵图图像
简单的动画
视窗外的点阵图
第十五章 与装置无关的点阵图
DIB档案格式
OS/2样式的DIB
由下而上
DIB图素位元
扩展的Windows DIB
真实检查
DIB压缩
颜色遮罩(color masking)
第4版本的Header
第5版的Header
显示DIB资讯
显示和列印
了解DIB
点对点图素显示
DIB的颠倒世界
循序显示
缩放到合适尺寸
色彩转换、调色盘和显示效能
DIB和DDB的结合
从DIB建立DDB
从DDB到DIB
DIB区块
DIB区块的其他区别
档案映射选项
总结
第十六章 调色盘管理器
使用调色盘
视频硬体
显示灰阶
调色盘资讯
调色盘索引方法
查询调色盘支援
系统调色盘
其他调色盘函式
位元映射操作问题
查看系统调色盘
调色盘动画
跳动的球
一个项目的调色盘动画
工程应用程式
调色盘和真实世界图像
调色盘和packed DIB
「通用《调色盘
中间色调色盘
索引调色盘颜色
调色盘和点阵图物件
调色盘和DIB区块
DIB处理程式库
DIBSTRUCT结构
资讯函式
读、写图素
建立和转换
DIBHELP表头档案和巨集
DIBBLE程式
档案载入和储存
显示、卷动和列印
剪贴簿
翻转和旋转
简单调色盘;最佳化调色盘
均匀分布
「Popularity《演算法
「Median Cut《演算法
转换格式
第十七章 文字和字体
简单的文字输出
文字输出函式
文字的装置内容属性
使用备用字体
字体的背景
字体型态
TrueType字体
属性或样式
点值
间隔和间距
逻辑英寸问题
逻辑字体
逻辑字体的建立和选择
PICKFONT程式
逻辑字体结构
字体映射演算法
取得字体资讯
字元集和Unicode
EZFONT系统
字体的旋转
字体列举
列举函式
「ChooseFont《对话方块
段落格式
简单文字格式
使用段落
列印输出预览
有趣的东西
GDI绘图路径
扩展画笔
四个范例程式
第十八章 Metafile
旧的metafile格式
记忆体metafile的简单利用
将metafile储存在磁碟上
老式metafile与剪贴簿
增强型metafile
基本程序
揭开内幕
metafile与GDI物件
metafile和点阵图
列举metafile内容
嵌入图像
增强型metafile阅览器和印表机
显示精确的metafile图像
缩放比例和纵横比
metafile中的映射方式
映射与显示
第十九章 多重文件介面
MDI概念
MDI的组成
MDI支援
MDI的范例程式
三个功能表
程式初始化
建立子视窗
关於框架视窗的讯息处理
子文件视窗
结束处理
第二十章 多工和多执行绪
多工的各种模式
DOS下的多工
非优先权式的多工
Presentation Manager和序列化的讯息伫列
多执行绪解决方案
多执行绪架构
执行绪间的「争吵《
Windows的好处
新改良过的!支援多执行绪了!
WINDOWS的多执行绪处理
再论随机矩形
程式设计竞赛的问题
多执行绪解决方案
有问题吗?
Sleep的好处
执行绪同步
临界区域
事件信号
BIGJOB1程式
事件物件
执行绪区域储存空间(TLS)
第二十一章 动态连结程式库
动态连结程式库的基本知识
程式库:一词多义
一个简单的DLL
程式库入口/出口点
测试程式
在DLL中共用记忆体
STRPROG程式
在STRPROG执行实体之间共用资料
各式各样的DLL讨论
上用输入引用资讯的动态连结
纯资源程式库
第二十二章 声音与音乐
WINDOWS和多媒体
多媒体硬体
API概述
用TESTMCI研究MCI
MCITEXT和CD声音
波形声音
声音与波形
脉冲编码调制(Pulse Code Modulation)
取样频率
样本大小
在软体中产生正弦波
数位录音机
另一种MCI介面
MCI命令字串的方法
波形声音档案格式
叠加合成实验
起床号波形声音
MIDI和音乐
使用MIDI
程式更改
MIDI通道
MIDI讯息
MIDI编曲简介
通过键盘演奏MIDI合成器
MIDI击鼓器
多媒体time函式
RIFF档案I/O
第二十三章 领略Internet
Windows Sockets
Sockets和TCP/IP
网路时间朊务
NETTIME程式
WININET和FTP
FTP API概况
更新展示程式
第二十四章 附录


📜 SIMILAR VOLUMES


Windows 程序设计(第3版)
✍ 张铮 📂 Library 📅 2015 🏛 人民邮电出版社 🌐 Chinese

本书试图为Windows程序设计初学者提供一条由入门到深入,由简单到复杂的编程设计之路,最终使他们有能力独立开发出像Windows防火墙一样复杂的应用程序.为此,本书首先介绍了Win32程序运行原理和最基本的Win32 API编程;然后通过模拟MFC中关键类,全局函数和宏定义的实现详细讲述了框架程序的设计方法和MFC的内部工作机制,并指出了这些机制是如何对用戶程序造成影响的;继而完整讲述了开发内核驱动和Windows防火墙的过程;最后对计算机3D图形和音频控制技术进行了介绍.此外,书中各章均配以丰富的实例,它们从最简单的"Hello World!"开始,到多线程,用戶界面,注册表和网络通信,3

汇编语言程序设计(第5版)
✍ 钱晓捷 📂 Library 📅 2018 🏛 电子工业出版社 🌐 Chinese

本书为“十二五”普通高等教育本科国家级规划教材,是教育部‐微软精品课程教学成果。本书以Intel 80x86指令系统和MASM 6.x为主体,共10章,分为基础和提高两部分。前5章为基础部分,以当前“汇编语言程序设计”课程的教学为目标,讲解16位基本整数指令及其汇编语言程序设计的知识,包括:汇编语言程序设计基础知识,8086指令详解,MASM伪指令和操作符,程序格式,程序结构及其设计方法。后5章为提高部分,介绍汇编语言程序设计的深入内容和实际应用知识,包括:32位80x86 CPU的整数指令系统及其编程,汇编语言与C/C++混合编程,80x87 FPU浮点指令系统及其编程,多媒体扩展指令系统及

Windows网络与通信程序设计 第3版
✍ 陈香凝 📂 Library 📅 2017 🏛 人民邮电出版社 🌐 Chinese

本书首先介绍了Windows平台上进行网络编程的基础知识,包括网络硬件,术语,协议,Winsock编程接口和各种I/O方法等;然后通过具体实例详细讲述了时下流行的高性能可伸缩服务器设计,IP多播和Internet广播,P2P程序设计,原始套节字,SPI,协议驱动的开发和原始以太数据的发送,ARP欺骗技术,LAN和WAN上的扫描和侦测技术,商业级个人防火墙开发等;接下来讲述了新一代网际协议IPv6和Winsock提供的帮助函数;本书结尾部分,对E-mail,Telnet,FTP等协议进行了介绍,给出了一个使用E-mail协议进行多平台同步阅读的实例.

C++程序设计: (第3版)
✍ 谭浩强 📂 Library 📅 2015 🏛 清华大学出版社 🌐 Chinese

<p>C++是近年来国内外广泛使用的现代计算机语言,它既支持基于过程的程序设计,也支持面向对象的程序设计。国内许多高校陆续开设了C++程序设计课程。但是,由于C++涉及概念很多,语法比较复杂,内容十分广泛,使不少人感到学习难度较大,难以入门。</p> <p>《C++程序设计(第3版)》作者深入调查了大学的程序设计课程的现状和发展趋势,参阅了国内外数十种有关C++的教材,认真分析了读者在学习中的困难和认识规律,设计了读者易于学习的教材体系,于2004年出版了《C++程序设计》一书。《C++程序设计(第3版)》降低入门起点,不需要C语言的基础,从零起点介绍程序设计和C++。广大师生用后反映非常好

Java程序设计(第2版)
✍ 王晓华 📂 Library 📅 2016 🏛 电子工业出版社 🌐 Chinese

古人云,"万事开头难”,熟练掌握Java语言是Java应用开发的个台阶,能够深入理解Java程序设计,是学习Java系列技术的必要前提。本教材结合作者多年开发和教学经验,从入门者的学习特点出发,循序渐进地带领读者走进Java世界,使得"开头并不难”。全书主要分为六个部分,包括Java语言的类、类之间的关系、异常处理、常用API、其他特性总结和编程实战。其中,编程实战部分提供了连连看游戏的完整实现,帮助读者使用教材就能自主实现该案例,快速提高Java程序实践能力。书中内容打破了传统的堆砌知识点的方式,而是从解决问题的角度诠释面向对象程序设计,涵盖了企业实际工作中常用的技能与知识点,简单明了,易读

Web程序设计(第4版)
✍ 吉根林,顾韵华 📂 Library 📅 2015 🏛 电子工业出版社 🌐 Chinese

本书是“十二五”普通高等教育本科国家级规划教材,也是国家级精品课程和优秀教材建设成果。本书主要介绍Web程序设计的方法与技术,使读者学会建立网站。全书共8章,包括:Web编程基础知识;Web应用程序开发与运行环境Dreamweaver MX及Visual Studio 2012;HTML与XML;层叠样式表CSS;Web客户端程序设计;Web服务器端程序设计;Web数据库程序设计;ASP.NET综合应用实例。每章配有大量实例、习题和上机实验题及实验指导,并且免费提供PPT教学课件和程序源代码