当前位置:首页 > 工业技术
Windows程序设计  第5版  上
Windows程序设计  第5版  上

Windows程序设计 第5版 上PDF电子书下载

工业技术

  • 电子书积分:17 积分如何计算积分?
  • 作 者:(美)Charles Petzold著;北京博彦科技发展有限公司译
  • 出 版 社:北京:北京大学出版社
  • 出版年份:1999
  • ISBN:730104187X
  • 页数:556 页
图书介绍:如果对Windows开发有什么问题的话,请翻阅PetZold的著作吧。在《Window程序设计》(第5版)中,这位杰出的“Windows先锋奖”(WindowsPioneerAward)获得者根据最新的Windows操作系统权威技术修订了他的经典著作::再一次演示了基本的Win32程序设计的API核心内容。本书的内容包括:**基本内容::输入、输出和对话框**Unicode概述**图形::绘图、文本和字体、位图和元文件**内核和打印机**声音和音乐**动态链接库**多任务和多线程**多文档界面**Internet和Intranet的程序设计其中采用的大多是具有代表性的示例,这本Petzold著作为使用Windows95、Windows98或WindowsNT的各级windows程序员提供了最基本的参考和指导。没有经验的开发人员也可以从中获取大量的新知识。
上一篇:拟除虫菊酯下一篇:常德菜100味
《Windows程序设计 第5版 上》目录

上册 1

第一部分 基础知识 1

第一章 开始 1

1.1 Windows环境 2

1.1.1 Windows简史 2

1.1.2 Windows方面 3

1.1.3 动态链接 5

1.2.1 API和内存模式 6

1.2 Windows编程选项 6

1.2.2 语言选项 7

1.2.3 编程环境 8

1.2.4 API文档 9

1.3 编写一个Windows程序 9

1.3.1 字符模式(Character-Mode)模型 9

1.3.2 Windows等价程序 10

1.3.3 头文件 11

1.3.4 程序入口点 12

1.3.5 MessageBox函数 13

1.3.6 编译、链接和运行 14

第二章 Unicode简介 17

2.1 字符集简史 17

2.1.1 美国标准 18

2.1.2 国际方面 19

2.1.3 扩展ASCII 20

2.1.4 双字节字符集 21

2.1.5 Unicode解决方案 22

2.2.1 char数据类型 23

2.2 宽字符和C 23

2.2.2 宽字符 24

2.2.3 宽字符库函数 25

2.2.4 维护单一源代码 26

2.3 宽字符和Windows 28

2.3.1 Windows头文件类型 28

2.3.2 Windows函数调用 30

2.3.3 Windows的字符串函数 31

2.3.4 在Windows中使用printf 31

2.3.5 格式化消息框 33

2.3.6 本书与国际化 35

第三章 窗口和消息 37

3.1 自己的窗口 37

3.1.1 总体结构 37

3.1.2 HELLOWIN程序 39

3.1.3 总体考虑 42

3.1.4 注册窗口类 46

3.1.5 创建窗口 52

3.1.6 显示窗口 53

3.1.7 消息循环 54

3.1.8 窗口过程 56

3.1.9 处理消息 56

3.1.10 播放声音文件 57

3.1.11 WM_PAINT消息 58

3.1.12 WM_DESTROY消息 60

3.2 Windows编程的难点 60

3.2.1 别调用我,我会调用您 60

3.2.2 进队消息与不进队消息 62

3.2.3 行动迅速 63

第四章 输出文本 65

4.1 绘制和刷新 66

4.1.1 WM_PAINT消息 66

4.1.2 有效矩形和无效矩形 67

4.2 GDI简介 68

4.2.1 设备描述表 68

4.2.2 获取设备描述表句柄:方法一 69

4.2.3 绘图信息结构 70

4.2.4 获取设备描述表句柄:方法二 72

4.2.5 TextOut:细节 72

4.2.6 系统字体 74

4.2.7 字符大小 74

4.2.8 文本尺寸:细节 75

4.2.9 格式化文本 77

4.2.10 综合使用 78

4.2.11 SYSMENTS1.C窗口过程 85

4.2.12 空间不够 86

4.2.13 客户区的大小 87

4.3 滚动条 88

4.3.1 滚动条的范围和位置 89

4.3.2 滚动条消息 91

4.3.3 在SYSMETS中添加滚动功能 93

4.3.4 绘图程序的组织 97

4.4 建立更好的滚动 98

4.4.1 滚动条信息函数 98

4.4.2 滚动范围 100

4.4.3 新SYSMETS 101

4.4.4 不用鼠标怎么办 108

第五章 图形基础 109

5.1 GDI的结构 109

5.1.1 GDI原理 109

5.1.2 GDI函数调用 111

5.1.3 GDI图元 112

5.1.4 其他方面 112

5.2.1 获取设备描述表句柄 113

5.2 设备描述表 113

5.2.2 获取设备描述表信息 115

5.2.3 DEVCAPS1程序 116

5.2.4 设备的大小 119

5.2.5 关于色彩 124

5.2.6 设备描述表属性 126

5.2.7 保存设备描述表 127

5.3 画点和线 128

5.3.2 直线 129

5.3.1 写像素 129

5.3.3 边界框函数 134

5.3.4 贝塞尔样条 140

5.3.5 使用现有画笔(Stock Pens) 145

5.3.6 画笔的创建、选择和删除 146

5.3.7 填充空隙 150

5.3.8 绘图方式 150

5.4 绘制填充区域 152

5.4.1 Polygon函数和多边形填充方式 153

5.4.2 用画刷填充内部 157

5.5 GDI映射方式 159

5.5.1 设备坐标和逻辑坐标 161

5.5.2 设备坐标系 161

5.5.3 视口和窗口 162

5.5.4 处理MM_TEXT 164

5.5.5 “度量”映射方式 166

5.5.6 “自作主张的”映射方式 169

5.5.7 WHATSIZE程序 175

5.6.1 矩形函数 178

5.6 矩形、区域和剪裁 178

5.6.2 随机矩形 180

5.6.3 创建和绘制区域 184

5.6.4 矩形与区域的剪裁 186

5.6.5 CLOVER程序 187

第六章 键盘 193

6.1 键盘基础 193

6.1.1 忽略键盘 193

6.1.2 谁获得了焦点 194

6.1.4 击键和字符 195

6.1.3 队列和同步 195

6.2 击键消息 196

6.2.1 系统击键与非系统击键 196

6.2.2 虚拟键码 197

6.2.3 IParam信息 201

6.2.4 换档状态 202

6.2.5 使用击键消息 203

6.2.6 为键盘增强SYSMETS 204

6.3.1 四类字符消息 212

6.3 字符消息 212

6.3.2 消息顺序 213

6.3.3 处理控制字符 215

6.3.4 死字符消息 216

6.4 键盘消息和字符集 216

6.4.1 KEYVIEW1程序 217

6.4.2 外语键盘问题 222

6.4.3 字符集和字体 224

6.4.4 Unicode怎么样? 234

6.4.5 TiueType和大字体 235

6.5.1 插入符函数 242

6.5 插入符(不是光标) 242

6.5.2 TYPER程序 243

第七章 鼠标 251

7.1 鼠标基础 251

7.1.1 一些简单的定义 252

7.2 客户区鼠标消息 253

7.2.1 简单的鼠标处理:一个例子 254

7.2.2 处理Shift键 258

7.2.3 双击鼠标键 259

7.3 非客户区鼠标消息 261

7.3.1 命中测试消息 262

7.3.2 从消息产生消息 263

7.4 程序中的命中测试 263

7.4.1 一个假想的例子 264

7.4.2 示例程序 264

7.4.3 使用键盘仿真鼠标 268

7.4.4 在CHECKER中添加键盘接口 269

7.4.5 将子窗口用于命中测试 273

7.4.6 CHECKER中的子窗口 274

7.4.7 子窗口和键盘 279

7.5 捕获鼠标 284

7.5.1 设计矩形 284

7.5.2 捕获的解决方案 289

7.5.3 BLOKOUT2程序 289

7.6 鼠标轮 293

7.6.1 后会有期 301

第八章 计时器 303

8.1.1 系统和计时器 304

8.1 计时器基础 304

8.1.2 计时器消息不是异步的 305

8.2 计时器的使用:三种方法 305

8.2.1 方法一 305

8.2.2 方法二 309

8.2.3 方法三 312

8.3 计时器用于时钟 313

8.3.1 构造数字时钟 313

8.3.2 获取当前时间 318

8.3.4 国际化 319

8.3.3 显示数字和冒号 319

8.3.5 构造模拟时钟 320

8.4 为状态报告使用计时器 326

第九章 子窗口控制 331

9.1 按钮类 333

9.1.1 创建子窗口 337

9.1.2 子窗口向父窗口发送消息 338

9.1.3 父窗口向子窗口发送消息 339

9.1.4 下压按钮 340

9.1.5 复选框 341

9.1.6 单选按钮 342

9.1.7 分组框 342

9.1.8 更改按钮文本 343

9.1.9 可见的和启用的按钮 343

9.1.10 按钮和输入焦点 344

9.2 控制与颜色 345

9.2.1 系统颜色 345

9.2.2 按钮颜色 347

9.2.4 拥有者绘制按钮 348

9.2.3 WM_CTLCOLORBTN消息 348

9.3 静态类 355

9.4 滚动条类 356

9.4.1 COLORS1程序 357

9.4.2 自动链盘接口 364

9.4.3 窗口子类化 365

9.4.4 给背景着色 366

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

9.5 编辑类 368

9.5.1 编辑类风格 370

9.5.2 编辑控制通知 371

9.5.3 使用编辑控制 372

9.5.4 发送给编辑控制的消息 372

9.6 列表框类 373

9.6.1 列表框风格 374

9.6.2 将串放入列表框 374

9.6.3 选择和获取项 376

9.6.4 接收来自列表框的消息 377

9.6.5 一个简单的列表框应用程序 378

9.6.6 文件列表 382

9.6.7 Windows的head程序 383

第十章 菜单及其他资源 389

10.1 图标、光标、字符串和定制资源 390

10.1.1 将图标添加到程序 390

10.1.2 获取图标句柄 395

10.1.3 在程序中使用图标 398

10.1.5 字符串资源 399

10.1.4 使用自定义光标 399

10.1.6 定制资源 401

10.2 菜单 409

10.2.1 菜单概念 410

10.2.2 菜单结构 410

10.2.3 定义菜单 411

10.2.4 在程序中引用菜单 411

10.2.5 菜单和消息 412

10.2.6 示例程序 414

10.2.8 定义菜单的复杂方法 421

10.2.7 菜单设计规范 421

10.2.9 浮动弹出式菜单 423

10.2.10 使用系统菜单 428

10.2.11 更改菜单 431

10.2.12 其他菜单命令 432

10.2.13 创建菜单的非正规方法 433

10.3 键盘加速键 438

10.3.1 为什么要使用加速键 438

10.3.3 加速键表 439

10.3.2 安排加速键的几条规则 439

10.3.4 加载加速键表 440

10.3.5 键盘代码转换 440

10.3.6 接收加速键消息 441

10.3.7 菜单与加速键应用程序POPPAD 442

10.3.8 启用菜单项 448

10.3.9 处理菜单项 449

第十一章 对话框 453

11.1 模态对话框 454

11.1.1 创建About对话框 454

11.1.2 对话框及其模板 458

11.1.3 对话框过程 461

11.1.4 激活对话框 462

11.1.5 不同的主题 463

11.1.6 更复杂的对话框 466

11.1.7 使用对话框控制 473

11.1.8 OK和Cancel按钮 476

11.1.9 避免全局变量 477

11.1.10 Tab停留位和组 478

11.1.11 在对话框上绘图 480

11.1.13 定义自己的控制 481

11.1.12 将其他函数用于对话框 481

11.2 非模态对话框 488

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

11.2.2 新的COLORS程序 491

11.2.3 HEXCALC:窗口还是对话框? 496

11.3 通用对话框 504

11.3.1 增强POPPAD 504

11.3.2 Unicode文件I/O 527

11.3.4 查找与替换 528

11.3.3 更改字体 528

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

第十二章 剪贴板 531

12.1 剪贴板的简单使用 531

12.1.1 标准剪贴板数据格式 532

12.1.2 内存分配 533

12.1.3 将文本传送到剪贴板 535

12.1.4 从剪贴板上获取文本 536

12.1.5 打开和关闭剪贴板 537

12.1.6 剪贴板和Unicode 538

12.2 复杂的剪贴板用法 544

12.2.1 利用多个数据项 544

12.2.2 延迟生成 546

12.2.3 私有数据格式 547

12.3 实现剪贴板查看器 549

12.3.1 剪贴板查看器链 550

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

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

相关图书
作者其它书籍
返回顶部