第1章 界面设计实例 1
1.1 如何创建一个单文档应用程序 1
1.2 如何使字符串始终处于屏幕的正中央 2
1.3 如何实现滚动字幕 4
1.4 如何创建单文档静态切分窗口 5
1.5 如何实现多色窗口 7
1.6 如何创建一个不规则窗口 9
1.7 如何绘制圆形 12
1.8 如何绘制无边界图形 14
1.9 如何从MM_TEXT映射模式转换到MM_HIMETRIC映射模式 15
1.10 如何绘制旋转文本 17
1.11 如何绘制滚动窗口 19
1.12 如何改变MDI客户窗口背景的方法 20
1.13 如何修改菜单的显示状态 22
1.14 如何创建上下文菜单 24
1.15 如何创建浮动的弹出菜单 26
1.16 如何改变SDI窗口标题 27
1.17 如何改变MDI窗口标题 28
1.18 如何改变鼠标的形状 30
1.19 如何捕捉鼠标 31
1.20 如何制作动态工具栏 33
1.21 如何制作下拉列表工具栏 34
1.22 如何制作动态工具栏 37
1.23 如何制作非标准状态栏 38
1.24 如何放大状态栏的窗格 41
1.25 如何制作“气球式”工具提示 42
1.26 如何实现Wimdows 98特殊窗口的动态拖动 45
1.27 如何控制并列工具条的停靠 48
1.28 如何动态加入和删除菜单的方法 51
1.29 如何实现工具条的浮动效果 54
1.30 如何创建一个图标 55
1.31 如何制作一个计算器程序 56
1.32 如何在应用程序中显示当前时间 59
1.33 如何制作一个向导程序 61
1.34 如何改变系统时间 63
1.35 如何利用ATL MFC构造COM自动化编程界面 65
1.36 如何在状态条中加入Bitmap图 66
1.37 如何定制窗口 69
1.38 如何绘制动态图标 72
1.39 如何快速创建真彩色工具条 74
1.40 如何在菜单中增加位图或图标 75
1.41 如何实时捕捉光标的位置 76
1.42 如何用VC实现滚动图片 78
1.43 如何实现活动工具条 79
1.44 如何建立新的状态信息 80
1.45 如何实现彩色按钮 82
第2章 对话框和控件 83
2.1 如何使用VC6.0中的一些控件 83
2.2 如何使用预制对话框 85
2.3 如何制作模式对话框 86
2.4 如何制作可扩展对话框 88
2.5 如何制作无模式对话框 90
2.6 如何创建基于对话框的应用程序 93
2.7 如何应用文本控件 95
2.8 如何使用进程条控件 97
2.9 如何在对话框中预览位图 99
2.10 确定当前系统正在运行的进程 101
2.11 如何实现对话框上信息的显示 103
2.12 如何制作字体选择组合框 105
2.13 如何制作Winamp样式的自动停靠对话框 107
2.14 如何在对话框窗口内部绘图 108
2.15 如何改变控件颜色 110
2.16 如何向编辑控件中自动添加文本 112
2.17 如何改变Push Button背景色 114
2.18 如何改变控件的字体 116
2.19 如何同时显示VC6中两个对话框 117
2.20 如何实现VC++任务栏提示区图标 118
2.21 如何改变对话框标题 119
2.22 如何创建可调大小的对话框 120
2.23 如何在工具条中实现组合框 122
2.24 如何应用树型控件 124
2.25 如何制作文件浏览对话框 126
2.26 如何制作口令对话框 128
2.27 如何制作查找替换对话框 130
2.28 如何使进程条控件自动填充颜色块 132
2.29 如何实现图片连续播放 133
2.30 如何制作“膨胀”动画效果 135
2.31 如何实现屏幕色彩渐变 138
2.32 如何制作“贝叶斯万花筒” 140
2.33 如何使用CDC绘制精美的网状图 141
2.34 如何在对话框中使用Calendar控件 143
2.35 如何加快TreeCtrl控制的显示速度 145
2.36 如何制作动画按钮 146
2.37 如何制作不规则形状的按钮 148
2.38 如何制作动画按钮 150
2.39 如何制作具有动画效果的字体 152
2.40 如何实现状态栏的动态编程 154
2.41 如何为应用程序添加全屏幕显示功能 156
2.42 如何在每个子窗口显现状态栏 158
2.43 制作关闭和重起计算机的对话框 160
2.44 制作设置显示器分辨率的对话框 161
2.45 如何设置编辑控件输入数据的属性 163
2.46 如何使用图形按钮类创建图形按钮 165
2.47 如何使窗体具有CTL3D效果 166
2.48 如何使用GDI对象路径实现特显文字 169
2.49 如何控制打印字体 173
2.50 如何开发所见即所得的打印程序 179
2.51 VC下打印机的使用 181
2.52 如何在VC中实现简易即见即得打印 183
2.53 如何在VC应用程序中直接借用其他程序的光标资源 185
2.54 如何使用列表控件 186
2.55 如何使用列表框控件 187
2.56 如何使用表格控件 189
2.57 如何使用图片控件 191
2.58 如何使用Animate控件 192
2.59 如何获取和修改计算机名 194
2.60 如何获取文件属性 195
2.61 如何从剪裁板读写文件 197
第3章 文档与视图 199
3.1 在单文档视图上实现屏幕滚动 199
3.2 如何控制文件的存取 202
3.3 如何实现应用程序中数据的保存 204
3.4 如何获取系统文件夹的路径 205
3.5 如何以二进制形式查看文件 207
3.6 如何同时打开两个文档类型的多文档应用程序 209
3.7 如何动态拆分单一视图类 212
3.8 如何实现双视图类SDI静态拆分 213
3.9 如何切换无拆分的视图类 215
3.10 如何使用MDI实现多视图编程 217
3.11 如何实现单文档多视图编程 220
3.12 如何实现多视图编程 222
3.13 如何用VC6.0的SDI实现两个文档模板 225
3.14 如何用键盘滚动分割的视图 226
3.15 如何在窗口对应的视图间切换视图 228
3.16 文件变更通知 231
3.17 VC++在I/O中的应用 233
3.18 如何静态切分窗口为三部分 234
3.19 如何诊断转储观察文档数据 236
3.20 如何在文档视图结构中使用CObZList集合类 238
3.21 如何获取内存大小 240
3.22 如何检测硬件设备 242
3.23 如何对文件进行操作 245
3.24 如何使用不同的字体显示文本 246
3.25 如何创建和显示对话框 247
第4章 图像 250
4.1 如何制作一个绘图程序 250
4.2 如何制作特殊画线的效果 252
4.3 如何应用自建的类库显示图像 254
4.4 如何利用BMP图像制作简单的动画 255
4.5 如何抓取屏幕 257
4.6 如何在MDI中使用OpenGL加快图像像素的访问速度 259
4.7 如何显示256色位图 261
4.8 如何实现图像的渐显/渐隐效果 264
4.9 如何在VC应用程序中插入微型动画 268
4.10 如何在状态栏显示动画 270
4.11 如何在工具栏上播放动画 271
4.12 如何粘贴一幅圆形的位图 272
4.13 如何在VC++中使用OpenGL编程 275
4.14 如何用VC++制作图片屏幕保护程序 277
4.15 如何实现动画特技——淡入淡出 279
4.16 如何用OpenGL的辅助库绘制有光照的实心球体 281
4.17 如何拷贝位图到剪贴板 284
4.18 如何给基于对话框的应用程序做启动画面 285
4.19 如何实现图形旋转和歪斜的椭圆 289
4.20 如何将DIB转换为DDB 291
4.21 如何将DDB转换为DIB 293
4.22 如何实现BMP位图平滑缩放 296
4.23 如何绘制灰度图像 299
4.24 如何画透明位图 301
4.26 如何使用SCRNSAVE.LIB编写屏幕保护程序 303
4.25 如何将CBitrnap写入文件 303
4.27 如何制作合成图像 306
4.28 如何制作精灵动画 308
4.29 如何写窗口图像到BMP位图文件 311
4.30 如何实现图像滚动效果 312
4.31 如何制作VC++应用程序的多媒体封面 314
4.32 如何对BMP图像进行缩放 316
4.33 如何实现BMP图像的显示 318
4.34 OpenGL中雾的应用 320
4.35 如何实现JPEG图像的显示 321
4.36 如何利用OpenGL实现三维绘图 323
4.37 如何给窗口设置背景图 327
4.38 如何在VC中实现扩展广告条 328
4.39 如何制作景深效果 330
4.40 如何制作屏幕放大镜 332
4.41 如何显示多种图像格式 333
4.42 如何在VC中输出特殊字 335
4.43 如何绘制分形图像 338
4.44 如何实现文字的特殊显示效果 340
4.45 如何实现旋转文本 342
4.46 如何实现动画启动界面 343
4.47 如何用VC制作透明的图像 344
4.48 如何实现图像的缩放 345
4.49 如何显示与设备无关的位图 347
4.50 如何更改表格颜色 348
4.51 如何制作彩色立方体 349
第5章 网络编程 351
5.1 如何发送文件到Web 351
5.2 如何编写抢先式多线程网络蜘蛛程序 352
5.3 如何实现类似IE的打印网页功能 356
5.4 如何实现类似IE的浏览源代码功能 357
5.5 如何自定义简单MAPI邮件类 357
5.6 如何在对话框中打印网页 358
5.7 如何在浏览器中改变字体 359
5.8 如何在应用中使用注册表扩充IE上下文菜单 360
5.9 如何在VC++程序中用对话框的形式显示HTML文件 362
5.10 如何使用VC++制作网页浏览器 364
5.11 Web搜索引擎设计和实现分析 365
5.12 如何用Winsock实现语音全双工通信 369
5.13 如何检知拨号上网IP地址 374
5.14 如何建立一个通用服务框架 376
5.15 如何控制远程计算机拨号上网并获取其IP地址 379
5.16 清除历史记录函数 385
5.17 如何应用TCP/IP的套接字开发网络通信应用程序 386
5.18 如何用VC++读取网卡MAC地址 391
5.19 如何使用MFC快速实现网络编程 393
5.20 如何用VC实现Windows95Socket编程 398
5.21 如何在Linux环境下进行网络编程 401
5.22 如何用Activex实现串口通信 409
5.23 如何在应用程序中实现RAS拨号 410
5.24 如何用VC++实现拨号上网功能 412
5.25 如何用VC++编写Ftp客户程序 413
5.26 如何用VC++编写CGI程序 417
5.27 如何编制IP编辑器 421
5.28 如何检测客户端的链接请求 422
5.29 如何建立客户端应用程序 423
5.30 如何用VC建立映射网络驱动器 424
5.31 如何实现对HTTP进行监控 425
5.32 如何用VC建立基于SMTP的邮件发送系统 426
5.33 如何用VC编制监控POP3上的电子邮件收发程序 427
5.34 如何用VC制作超级链接 429
5.35 如何用VC制作网页 430
5.36 如何加载网页 431
第6章 动态链接库(DLL) 433
6.1 如何创建动态链接库 433
6.2 如何使用DLL 434
6.3 如何利用DLL制作交通灯 436
第7章 鼠标和键盘 438
7.1 如何应用鼠标作图 438
7.2 如何用VC编写识别键盘按键的位置 439
7.3 如何更换鼠标形状 440
7.4 如何显示键盘的输入 442
7.5 如何限制鼠标范围 444