!"#$%
&
'
()*+,
-./0"
!
#1*"#$%
*2
"#
32!456
"#
78
9:;
/0
-0<=>4
?@AB
CDE(@A
32FGHIEJKLMNO
1P
QQHIERSTUVW
T29
&X@U
Y1D
"#632Z
1[\
2]Z^_`a
b2X6c 4
]X
1
P
G
"#“«6
278
L‹›fifl
"#
32!
fi b24
B
B1
32!"#
c6
278
b2
6
”»45
1
$%&
'
'
$%&
'
"#45…P
‰@((
6
¿ c
[\
* ˚>4
D ¸
˝
1F˛ 7ˇ
1H
()*
P1DJ
LD7ˇ
1D "#
b2(X
(
2
32!"
"#
#N2“«
NXb2
4
E(
>“«P
E(
6
”»
1@(
'
$%&
Œ c
”>“«º(*6278
1G)
(0
^%Nœ2ß
F˚
6
2
?E(
fi4 6
'
$%&
+,$-
.,-/%0
fi4 2ß
F1Dfi»
)32
&ZfiflE!#(
132P
U
1
2
!"#
!"#7ˇ
+1-
2
!"#$$%&
'(
!"#7ˇ
1
*fifl
…P(fifl6)*c+N H,
-./
01
23
456
789
:;
<
=>
?
@
0AB
CD
E
:
4
4
F
GHI
J
LKLM
编程实践:Visual C++进阶100例
电子书目录
前言
第1章 认识Visual C++ 6.0 ………………………………………………………………………………………1
1.1 第一个控制台应用程序实例 ………………………………………………………………………………1
1.2 第一个Windows应用程序实例 ……………………………………………………………………………3
1.3 基于对话框的MFC应用程序实例 …………………………………………………………………………5
1.4 单文档MFC应用程序实例 …………………………………………………………………………………7
1.5 多文档MFC应用程序实例…………………………………………………………………………………10
1.6 宏的使用实例 ………………………………………………………………………………………………12
第2章 使用常用Win32控件 ……………………………………………………………………………………15
2.1 静态文本、文本框和按钮使用实例 ……………………………………………………………………15
2.2 复选框和单选按钮使用实例 ………………………………………………………………………………17
2.3 组合框(Combo Box)和列表框(List Box)使用实例 ……………………………………………20
2.4 滚动条(Scroll Bar)使用实例 …………………………………………………………………………22
2.5 数值调节按钮(Spin)使用实例 …………………………………………………………………………24
2.6 进度条(Progress)使用实例 ……………………………………………………………………………26
2.7 滑块控件(Slider)使用实例 ……………………………………………………………………………27
2.8 热键控件(Hot Key)使用实例 …………………………………………………………………………29
2.9 列表控件(List Control)使用实例 ……………………………………………………………………30
2.10 树形控件(Tree Control)使用实例 ……………………………………………………………………33
2.11 格式文本框(Rich Edit)使用实例 ……………………………………………………………………36
2.12 属性页(Tab Control)使用实例 ………………………………………………………………………40
2.13 动画控件(Animate)使用实例 ………………………………………………………………………42
2.14 日期时间选择控件(Date Time Picker)使用实例 …………………………………………………44
2.15 日历控件(Month Calendar)使用实例 ………………………………………………………………46
2.16 IP输入框(IP Address)使用实例 ……………………………………………………………………47
第3章 使用高级Win32控件丰富界面…………………………………………………………………………50
3.1 窗体菜单使用实例 …………………………………………………………………………………………50
3.2 弹出式菜单使用实例 ………………………………………………………………………………………52
3.3 工具栏使用实例 ……………………………………………………………………………………………55
3.4 256色工具栏使用实例 ……………………………………………………………………………………57
3.5 状态栏输出信息实例 ………………………………………………………………………………………58
3.6 状态栏彩色渐变进度条实例 ………………………………………………………………………………60
电子书目录
3.7 ToolTip显示即时提示实例 ………………………………………………………………………………64
第4章 窗体…………………………………………………………………………………………………………67
4.1 创建和显示窗体实例 ………………………………………………………………………………………67
4.2 让窗体保持在最顶层实例 …………………………………………………………………………………77
4.3 创建半透明窗体实例 ………………………………………………………………………………………78
4.4 创建椭圆窗体实例 …………………………………………………………………………………………82
4.5 创建文字窗体实例 …………………………………………………………………………………………83
4.6 利用图片生成异形窗体实例 ………………………………………………………………………………88
4.7 以动画方式显示和隐藏窗体实例 ………………………………………………………………………92
4.8 控件自动适应窗体大小实例 ………………………………………………………………………………95
4.9 多个控件改变大小时防止闪烁实例 ……………………………………………………………………100
4.10 限制窗体的最大和最小尺寸实例 ……………………………………………………………………102
4.11 让窗体具有停靠效果实例 ………………………………………………………………………………103
4.12 枚举系统中的窗口实例 …………………………………………………………………………………106
第5章 对话框 ……………………………………………………………………………………………………116
5.1 显示模式对话框实例 ……………………………………………………………………………………116
5.2 显示非模式对话框实例 …………………………………………………………………………………118
5.3 打开文件对话框使用实例 ………………………………………………………………………………120
5.4 保存文件对话框使用实例 ………………………………………………………………………………123
5.5 字体对话框使用实例 ……………………………………………………………………………………124
5.6 颜色对话框使用实例 ……………………………………………………………………………………125
5.7 为打开文件对话框增加预览功能实例 …………………………………………………………………127
5.8 从内存创建对话框实例 …………………………………………………………………………………130
第6章 深入了解Windows消息 ………………………………………………………………………………137
6.1 传递并响应Windows消息实例 …………………………………………………………………………137
6.2 发送Windows消息实例 …………………………………………………………………………………141
6.3 在MFC中映射消息实例 …………………………………………………………………………………143
6.4 自定义消息使用实例 ……………………………………………………………………………………146
6.5 拦截并处理Win32控件的消息实例 ……………………………………………………………………148
第7章 系统和外壳编程…………………………………………………………………………………………153
7.1 定时器使用实例 …………………………………………………………………………………………153
7.2 访问系统注册表实例 ……………………………………………………………………………………156
7.3 用随机数生成强力密码实例 ……………………………………………………………………………158
7.4 打开和程序相关联的文档实例 …………………………………………………………………………160
7.5 访问Windows剪切板实例 ………………………………………………………………………………162
7.6 监视剪切板内容变化实例 ………………………………………………………………………………165
7.7 使用系统托盘图标实例 …………………………………………………………………………………169
第8章 基本输入设备 ……………………………………………………………………………………………175
8.1 鼠标输入处理实例 ………………………………………………………………………………………175
8.2 键盘输入处理实例 ………………………………………………………………………………………177
XXI
励 志 照 亮 人 生 编 程 改 变 命 运
编程实践 Visual C++进阶100例
8.3 利用客户区鼠标消息拖动无边框窗体实例 ……………………………………………………………180
8.4 利用非客户区控制无边框窗体实例 ……………………………………………………………………182
8.5 限制鼠标移动区域实例 …………………………………………………………………………………184
8.6 模拟键盘鼠标消息实例 …………………………………………………………………………………185
8.7 使用系统热键使后台程序得到通知实例 ………………………………………………………………189
第9章 进程 ………………………………………………………………………………………………………194
9.1 创建和结束进程实例 ……………………………………………………………………………………194
9.2 用匿名管道获取控制台程序的输出实例 ………………………………………………………………198
9.3 拦截并处理外部进程错误实例 …………………………………………………………………………200
9.4 防止应用程序运行多次实例 ……………………………………………………………………………205
9.5 用消息在进程间通信实例 ………………………………………………………………………………208
9.6 用内存映射文件在进程间通信实例 ……………………………………………………………………210
9.7 枚举并得到系统中所有进程信息实例 …………………………………………………………………214
第10章 线程 ……………………………………………………………………………………………………225
10.1 主线程阻塞实例 …………………………………………………………………………………………225
10.2 创建和结束线程实例 ……………………………………………………………………………………227
10.3 用临界区对象同步线程实例……………………………………………………………………………230
10.4 用事件对象同步线程实例………………………………………………………………………………235
10.5 用信号量对象同步线程实例……………………………………………………………………………242
10.6 调整线程优先级实例 ……………………………………………………………………………………244
第11章 图形图像开发 …………………………………………………………………………………………247
11.1 用DC对象缩放位图实例 ………………………………………………………………………………247
11.2 用画笔对象画线实例 ……………………………………………………………………………………251
11.3 用画刷对象填充区域实例 ………………………………………………………………………………254
11.4 输出文本实例 ……………………………………………………………………………………………256
11.5 使用GDI+读取不同格式的图片实例…………………………………………………………………259
11.6 使用GDI+保存不同格式的图片实例 …………………………………………………………………264
11.7 制作屏幕截图程序实例 …………………………………………………………………………………267
11.8 给图片增加版权信息实例 ………………………………………………………………………………269
第12章 文件IO开发 ……………………………………………………………………………………………284
12.1 用基本API读写文件实例 ………………………………………………………………………………284
12.2 用MFC类读写文件实例 ………………………………………………………………………………291
12.3 监控硬盘上文件的变化实例……………………………………………………………………………296
12.4 获取本机所有磁盘及其空间使用情况实例 …………………………………………………………301
12.5 Unicode编码处理实例 …………………………………………………………………………………305
12.6 读写XML文件实例 ……………………………………………………………………………………308
12.7 读写串口数据实例 ………………………………………………………………………………………313
第13章 数据库开发 ……………………………………………………………………………………………319
13.1 创建ODBC数据源实例 …………………………………………………………………………………319
13.2 使用ODBC访问数据库实例 ……………………………………………………………………………321
励 志 照 亮 人 生 编 程 改 变 命 运
XXII
电子书目录
13.3 使用ADO访问数据库实例 ……………………………………………………………………………323
13.4 调用SQL Server的存储过程实例………………………………………………………………………329
13.5 事务处理SQL Server命令实例 …………………………………………………………………………333
13.6 存取数据库中的图片实例………………………………………………………………………………336
13.7 在程序中动态生成Access数据库实例 ………………………………………………………………344
第14章 网络开发 ………………………………………………………………………………………………347
14.1 建立UDP连接客户端实例………………………………………………………………………………347
14.2 建立UDP连接服务器端实例……………………………………………………………………………350
14.3 建立TCP连接客户端实例 ………………………………………………………………………………352
14.4 建立TCP连接服务器端实例 ……………………………………………………………………………357
14.5 MFC的SOCKET类使用实例 …………………………………………………………………………362
14.6 注册自己的浏览器地址栏协议实例 …………………………………………………………………367
14.7 抓取网页内容实例 ………………………………………………………………………………………371
14.8 基于ICMP的网络速度监控实例 ………………………………………………………………………373
第15章 Windows高级编程 ……………………………………………………………………………………387
15.1 鼠标HOOK制作实例 ……………………………………………………………………………………387
15.2 用鼠标HOOK读取密码框中的内容实例 ……………………………………………………………390
15.3 键盘HOOK制作实例 ……………………………………………………………………………………394
15.4 用键盘HOOK屏蔽系统按键实例………………………………………………………………………396
15.5 用HOOK技术给对话框换肤实例………………………………………………………………………400
15.6 分析DLL文件获取其导出函数列表实例 ……………………………………………………………404
XXIII
励 志 照 亮 人 生 编 程 改 变 命 运