目 录 1
第1章C/C++基础 1
1-1两个类互为成员如何声明 2
1-2 inline函数使用问题 2
1-3 inline和static有何区别 3
1-4THIS FILE表示什么意思 3
1-5try和TRY有何区别 3
1-6 VC中的函数调用习惯 4
1-7用C语言实现参数个数可变的函数 8
1-8创建和访问环境变量 9
1-9常用的排序算法 11
1-10二叉排序树的相关操作 20
第2章 MSDEV集成环境与VC编译器 29
2-1如何快速格式化代码块 30
2-2如何调试Release版本程序 30
2-3加快链接的小技巧 30
2-4检测程序中的括号是否匹配 30
2-10 自动提示出问题怎么办 31
2-9如何汉化只有可执行代码的.exe文件 31
2-8如何让控制台应用程序支持MFC类库 31
2-7如何干净地删除一个类 31
2-6查看一个宏(或变量、函数)的宏定义 31
2-5定位预处理指定 31
2-11如何将一个工程中的部分资源加到另一个工程中 32
2-12一个经典的编译错误 32
2-13 VC6.0对VC5.0的兼容性问题 32
2-14 VC的REMOTE DEBUG怎么用 32
2-15 VC的编译模式 33
2-16为什么Debug版本程序可以正常运行而Release版本无法正常运行 33
2-17 VC项目文件说明 34
2-18定制AppWizard 35
第3章对话框和控件 41
3-1如何改变对话框的背景颜色 42
3-2如何为对话框设置一背景图 43
3-3如何创建和使用非模式对话框 45
3-4怎样从MFC扩展动态链接库(DLL)中显示一个对话框 47
3-5怎样循环查询对话框上所有控件的RECT 48
3-6如何在一个Dialog上建立一个简单的超链接 48
3-7按ESC时对话框不退出 49
3-9对话框中如何使用ToolTip 50
3-8如何向基于对话框的应用加上菜单 50
3-10如何将一个对话框置于最顶层 52
3-11 如何实现对话框的淡入淡出效果 53
3-12如何创建形状不规则的对话框 55
3-13实现全屏对话框 61
3-14实现一个点击不到的按钮 63
3-15创建位图按钮 66
3-16创建超链接按钮 68
3-17创建非矩形的按钮 75
3-18如何限制编辑框中允许出现的字符 82
3-19如何向编辑框中追加文本 83
3-20实现一个自动完成的组合框 84
3-21在状态条中显示程序运行进度 86
第4章进程和线程 91
4-1进程的创建和终止 92
4-2工作线程和用户界面线程 95
4-3使用事件对象来实现线程的同步 99
4-4使用临界区对象来实现线程的同步 101
4-5使用互斥量对象来实现线程的同步 104
4-6使用信号量对象实现线程的同步 107
4-7多线程任务调度与处理 110
第5章消息映射与处理 121
5-1鼠标消息 122
5-2键盘消息 126
5-3自定义消息 128
5-4利用消息来实现进程间通信 129
5-5利用钩子在多进程中处理Windows消息 131
5-6使用命令范围消息处理函数 135
5-7重定向消息 136
第6章文件和系统操作 143
6-1 文件夹的选择和拷贝 144
6-2删除指定路径下的某种类型的文件 148
6-3 当文档(文件)被修改时在标题上给出提示 153
6-4调用html文件的方法 154
6-5文件映像与内存映射文件 156
6-6改变系统时间 158
6-7让系统启动时运行某个应用程序 160
6-8如何得到光驱的盘符 163
6-9获得当前程序运行的目录(不包括文件名) 164
6-10限制软件的使用次数 165
6-11如何得到Windows的版本 167
6-12得到系统硬件信息 169
第7章窗口和桌面系统 179
7-1创建不可改变大小和不能移动的窗口 180
7-2使窗口始终在最前方 180
7-3在程序运行前禁止窗口右上方的关闭按钮 182
7-4去除MFC APPWIZARD生成工程标题中的“Untitled-MyApp” 183
7-5恢复窗口位置 184
7-6改变视的背景颜色 185
7-7设置FormView的背景色 186
7-8将两个工具条停靠在一行 187
7-9如何在View中创建控件 189
7-10实现窗口全屏显示和工具栏的飘浮与停靠 192
7-11在状态栏上添加按钮和组合框 195
7-12创建标签视 200
7-13调出开始菜单中的关机对话框 212
7-14托盘编程 213
7-15隐藏显示系统任务条 219
7-16如何得到和改变分辨率 220
第8章图形图像编程 227
8-1 设备坐标、物理坐标和逻辑坐标的区别及相互转换 228
8-2视口与窗口的区别和转换 229
8-3 CDC、CPaintDC、CClientDC和CWindowDC的区别和应用 229
8-4各种图形元素的绘制 230
8-5 GDI对象的访问 231
8-6使用鼠标绘图 233
8-7橡皮线的实现 238
8-8在对话框中绘制图形 240
8-9使用MFC开发OpenGL应用程序 244
8-10利用OpenGL实现动画效果 247
8-11 DDB与DIB的区别与相互转换 249
8-12在用户区显示位图 253
8-13获取位图的尺寸 255
8-14显示256色位图 256
8-15对位图进行伸缩和镜像处理 259
8-16显示JPG和GIF文件 260
第9章多媒体技术 263
9-1捕捉窗体内容存储到剪贴板 264
9-2实现位图动画 266
9-3打造自己特色的屏幕保护程序 271
9-4如何播放Wave、Midi等文件 276
9-5如何播放avi文件 292
第10章ActiveX 295
10-2 Windows中注册ActiveX控件的几种方法 296
10-1如何快速注册DLL和OCX文件 296
10-3 ActiveX控件制作实例——牌九ActiveX控件 299
第11章调试技术 307
11-1调试环境的建立 308
11-2调试小述 309
11-3设置断点 309
11-4TRACE宏 312
11-6 VERIFY宏 313
11-7在Console应用程序中使用TRACE宏 313
11-5 ASSERT宏 313
11-8 内存泄漏的检查 315
11-9调试DLL 318
11-10使用Dependency Walker 318
11-11使用Spy++ 319
第12章VC数据库编程 321
12-1如何创建OBDC数据源 322
12-2如何用ODBC进行数据库开发 323
12-3如何动态加载ODBC数据源 328
12-4如何使用DAO进行数据库开发 332
12-6如何使用OLEDB进行数据库编程 342
12-5如何对MFC工程添加OLEDB支持 342
12-7如何用#import指令导入ADO类库 348
12-8如何添加对ADO 2.0 VC++接口的支持 348
12-9如何初始化ADO环境 348
12-10如何使用ADO进行数据库开发 348
12-11 如何使用VC++存取数据库中的大对象 354
第1 3章网络编程 361
13-1如何从应用程序中打开URL 362
13-2如何从应用程序中发送电子邮件 362
13-3在Win2000系统下修改主机名、IP、网关、子网掩码和代理服务器 362
13-4如何得到多穴主机的多个IP地址 374
13-5如何枚举局域网内的计算机 376
13-6读取网卡的Mac地址 379
13-7一个小型的公司客服系统——C/S使用示例 381
13-8如何在应用程序中映射网络驱动器 389
13-9如何往IE的工具条上添加自定义的图标 391
13-10利用WebBrowser控件创建自己的浏览器 394
第14章帮助系统 397
14-1如何制作一个hlp格式的帮助文件 398
14-2如何制作一个chm格式的帮助文件 403
14-3如何在程序中调用chm格式的帮助文件 409