目录
第 1章 基础知识 1
1.1 Windows的特色 1
1.2 编程语言的分类 2
1.2.1 机器语言 2
1.2.2 汇编语言 2
1.2.3 高级语言 3
1.3 安装Visual Studio开发工具 3
1.4 HelloWorld程序 3
1.4.1 引入头文件Windows.h 5
1.4.2 入口函数WinMain 5
1.4.3 MessageBox函数 10
1.5 程序编译过程 12
1.6 字符编码ASCII、扩展ASCII、DBCS、Unicode和ANSI 14
1.6.1 ASCII 14
1.6.2 扩展ASCII 14
1.6.3 双字节字符集DBCS 15
1.6.4 Unicode国际化 15
1.6.5 ASCII和ANSI 16
1.7 字符和字符串处理 16
1.7.1 字符和字符串数据类型 16
1.7.2 常用的字符串处理函数 19
1.7.3 Windows中的ANSI与Unicode版本函数 39
1.7.4 ANSI与Unicode字符串转换 40
1.8 结构体数据对齐 42
第 2章 Windows窗口程序 46
2.1 认识Windows窗口 46
2.2 第 一个Windows窗口程序 47
2.2.1 注册窗口类(RegisterClassEx)49
2.2.2 创建窗口(CreateWindowEx)55
2.2.3 显示窗口(ShowWindow)和刷新窗口客户区(UpdateWindow)58
2.2.4 消息循环 59
2.2.5 窗口过程 61
2.3 Windows数据类型 67
2.4 函数名、变量名命名规则 71
第3章 GDI绘图 73
3.1 设备环境(DC) 73
3.2 绘制文本 76
3.2.1 格式化文本 77
3.2.2 绘制文本函数 88
3.2.3 加入标准滚动条 92
3.2.4 保存设备环境 111
3.3 绘制直线和曲线 113
3.3.1 绘制像素点 113
3.3.2 绘制直线 113
3.3.3 绘制曲线 120
3.4 填充图形 124
3.5 逻辑坐标与设备坐标 132
3.5.1 世界坐标空间到页面坐标空间的变换 133
3.5.2 页面坐标空间到设备坐标空间的变换 134
3.6 扩展画笔 145
3.7 区域 149
3.8 路径 154
3.9 绘图模式 156
第4章 键盘与鼠标 158
4.1 键盘 158
4.1.1 活动窗口与键盘焦点 158
4.1.2 系统击键消息和非系统击键消息 159
4.1.3 虚拟键码 160
4.1.4 转义状态 165
4.1.5 字符消息 166
4.1.6 模拟击键消息 166
4.1.7 插入符号 168
4.2 鼠标 169
4.2.1 客户区鼠标消息 170
4.2.2 非客户区鼠标消息 172
4.2.3 X按钮消息 174
4.2.4 鼠标光标函数 175
4.2.5 鼠标捕获 177
4.2.6 鼠标滚轮 180
4.2.7 模拟鼠标消息 182
第5章 计时器(定时器)和时间 184
5.1 计时器 184
5.2 系统时间 188
5.3 Windows时间 190
5.4 时钟程序 191
第6章 菜单和其他资源 197
6.1 菜单和加速键 197
6.1.1 为程序添加菜单栏 197
6.1.2 加速键 204
6.1.3 菜单的查询、创建、添加、修改和删除 210
6.1.4 菜单状态的设置、快捷菜单 217
6.1.5 扩展菜单选项与菜单项自绘 222
6.2 图标 229
6.3 光标 230
6.4 字符串表 232
6.5 程序版本信息 238
6.6 自定义资源 240
第7章 位图 245
7.1 DDB 246
7.2 位块传送 250
7.3 DIB 256
7.4 DDB与DIB 257
第8章 子窗口控件 259
8.1 按钮类 260
8.1.1 按钮与父窗口通信 262
8.1.2 系统颜色 271
8.1.3 视觉样式 273
8.1.4 控件的子类化与超类化 274
8.1.5 命令链接按钮与拆分按钮 278
8.2 编辑控件 280
8.3 列表框 286
8.4 组合框 294
8.5 滚动条控件 299
8.6 静态控件 302
8.7 SysLink控件 304
8.8 全局热键与特定线程热键 308
8.9 IP地址控件 312
8.10 图像列表ImageList_Create函数 313
8.11 工具提示控件 315
8.11.1 超时时间 318
8.11.2 跟踪工具提示 319
8.12 列表视图 321
8.12.1 添加列标题和列表项 324
8.12.2 列表视图控件消息和通知码 328
8.12.3 选中项的获取 330
8.13 树视图 331
8.13.1 项目的添加 332
8.13.2 选中项的获取 334
8.13.3 其他消息和通知码 336
8.14 状态栏 336
8.14.1 为状态栏分栏 338
8.14.2 MenuHelp 339
8.15 工具栏 340
8.15.1 为按钮显示工具提示 344
8.15.2 自定义工具栏 345
8.16 进度条控件 346
8.17 日期控件 347
8.18 Tab选项卡控件 348
8.19 动画控件 353
第9章 对话框 355
9.1 模态对话框 355
9.1.1 模态对话框示例程序 357
9.1.2 对话框窗口过程 361
9.1.3 模态对话框示例程序2 362
9.2 非模态对话框 365
9.3 对话框程序的书写 366
9.4 通过Photoshop切片和自绘技术实现一个优雅的程序界面 368
第 10章 通用对话框 370
10.1 打开和保存文件 371
10.2 浏览文件夹与遍历目录 376
10.3 查找和替换 381
10.4 选择字体 386
10.5 选择颜色 387