第一部分 用户界面设计 3
第1章 按钮控件 3
程序1 带热点的按钮 3
程序2 高级按钮控件 4
程序3 弹性按钮 9
程序4 带选项列表的按钮 11
程序5 可重叠的按钮控件 12
程序6 由静态文本类继承的按钮 12
程序7 任意形状的按钮 13
第2章 编辑控件 15
程序1 自动填充的编辑框 15
程序2 货币格式的编辑框 15
程序3 对语法敏感的编辑框 17
程序4 包含提示文本和编辑框的复合编辑控件 20
程序5 高级编辑控件 22
程序6 数字滚选编辑框 23
第3章 静态控件 25
程序1 带有水平或垂直文字的斜线 25
程序2 彩色静态文本框 26
程序3 静态直方图 29
程序4 跳跃的静态文本 30
程序5 显示设备无关位图(DIB)的静态控件 31
第4章 组合框 32
程序1 多列组合框 32
程序2 可定制的颜色选择器 33
程序3 边框变换的组合框 34
程序4 类似MS Office风格的组合框 38
程序5 只读组合框 39
第5章 列表控件 41
程序1 双列表选择管理器 41
程序2 彩色文本列表框 43
程序3 多级列表框 44
程序4 属性列表框 48
程序5 Visual Studio风格的列表框 50
第6章 TREEVIEW控件 54
程序1 定制的TreeView控件 54
程序2 用来显示磁盘文件目录的TreeView控件 55
程序3 在TreeView控件之间实现拖放 58
程序4 带有TreeView控件的属性页 59
程序5 IE高级选项风格的TreeView控件 61
程序1 可定制的工具条和菜单 64
第7章 工具条 64
程序2 在多文档界面中切换的工具条 67
第8章 状态条 72
程序1 在状态条中播放AVI文件 72
程序2 扩展型的状态条 73
第9章 菜单控件 77
程序1 高级弹出菜单 77
程序2 可停靠的菜单条 78
程序3 为控件设计的平面弹出式菜单 79
第10章 其他公用控件 83
程序1 数据测绘的绘图类 83
程序2 Macintosh按钮 85
程序3 数字钟 85
程序4 完全用户定制的标签控件 86
程序5 形状可改变的进度控件 88
程序6 Smart Grid—表格控件 89
程序7 静态发光二极管控件 93
程序8 液晶显示控件 94
第11章 对话框 96
程序1 可“钉住”的对话框基类 96
程序2 扩展MFC文件通用对话框 97
程序3 Corel PhotoHouse风格的颜色选择对话框 101
程序4 用来选择和建立文件夹的对话框 102
程序5 文件预览对话框 104
程序6 多文件选择对话框 105
程序7 一个检验对话框中的所有控件变化的简便方法 108
程序8 堆叠的对话框 111
程序9 标签对话框类 113
程序10 用通用文件对话框作为无模式的视图 115
程序1 一个定制的MDI客户区 116
第12章 文档/视窗模型 116
程序2 在多文档窗口中增加“More Windows”对话框 117
程序3 MDI程序中的文档选择器 120
程序4 MDI程序的自动标签条 121
程序5 一个文档对应两个视图 124
第13章 文件和文件夹 126
程序1 CFileInfoArray—文件信息和比较 126
程序2 建立多级目录 134
程序3 CStringFile类 137
第14章 SHELL编程 138
程序1 系统条动画图标类 138
程序2 命令行参数菜单扩展 138
第15章 高级用户界面 141
程序1 Outlook 98风格的条形控件 141
程序3 建立定制窗口标题的框架 147
程序2 动态子窗口的重新配置 147
程序4 信息条 150
程序5 增强的列表控件 151
程序6 可视化的框架 156
程序7 皮肤生成器 159
程序8 α混合透明窗口 161
第二部分 多媒体 165
第16章 GDI 165
程序1 自动字体处理类 165
程序2 设置LOGFONT结构的简单方法 165
程序3 字体选择组合框 167
程序4 JTDraw—一个绘图的例子 168
程序5 旋转图片—高级内存设备环境 169
程序1 设备无关位图包 174
第17章 位图 174
程序2 向CBitmap中读取位图文件的快速方法 176
程序3 真彩滚轮 177
程序4 在24位颜色位图中直接访问像素 178
程序5 高品质的图像旋转 180
程序6 半透明位图 180
程序7 静态透明图像类 182
程序8 观察PCX文件 183
程序9 一个TWAIN的C++包 186
第18章 打印 189
程序1 定制通用打印对话框 189
程序2 设置默认打印机的函数 190
程序3 Windows文件的一般打印/预览程序 194
程序4 不需MFC支持的打印预览 195
程序5 非文档/视结构的打印预览 199
程序6 打印文本函数的封装类 200
第19章 OPENGL编程 205
程序1 三维字体 205
程序2 OpenGL的图像旋转缩放处理 207
程序3 简单OpenGL类 209
程序4 将一个OpenGL图像发送到剪贴板 210
程序5 使用24位位图作为OpenGL的图像 212
第20章 DIRECTX 214
程序1 用MFC进行简单的直接写屏(DirectDraw) 214
程序2 高级的直接写屏类 215
第21章 动画和声音 216
程序1 AVI图像捕获包 216
程序2 录制、播放、存储声音文件的多线程类 217
程序3 简单的混音控制器包 219
程序4 透明的动画控件 220
第三部分 网络和数据库 225
第22章 ACTIVEX控件 225
程序1 ActiveX超级链接控件 225
程序2 自动填充控件 227
第23章 INTERNET 229
程序1 从IE中向列表控件中拖拽链接地址 229
程序2 建立Internet快捷方式 231
程序3 创建拨号连接对象 232
程序4 简单的邮件客户端程序 233
程序5 简单聊天程序 236
程序6 CFtpGet—下载FTP文件类 240
程序7 Socket传输程序 242
程序8 HTTP服务监视器 243
第24章 IE编程 244
程序1 清除历史纪录 244
程序2 删除Internet的暂存文件 244
程序3 怎样将CHtmlView的内容添加到剪贴板中 246
程序4 用ATL HTML控件实现浏览器的镶嵌窗口 247
第25章 ISAPI 248
程序1 浏览IIS目录结构 248
程序2 ISAPI扩展DLL中的Cookies 248
第26章 数据库 249
程序1 从Visual C++中用Access自动生成报表 249
程序2 在Visual C++中访问Borland数据库引擎(BDE) 252
程序3 浏览ODBC的数据源名(DSN) 258
程序4 CByteArrayFile—串行化对象到数据字段 258
程序5 CODBCDynamic—一个从ODBC数据源中动态读取数据的类 260
程序6 DAO组合框 262
程序7 ODBC的日期时间 264
程序8 交互式的SQL工具(使用ADO) 265
程序9 交互式的SQL工具(使用MFC) 265
程序10 在DLL中使用DAO 265
第四部分 杂类 271
第27章 字符串 271
程序1 在Windows95/98上处理UNICODE字符串 271
程序2 进行资源读取和字符串格式化的CString扩展类 271
程序3 不依赖系统的CString类 273
程序4 CUnicodeString类 276
程序5 简单字符串类 276
程序2 注释块宏 280
程序3 定制的应用向导—“关于”对话框 280
程序1 C++操作符宏 280
第28章 宏 280
程序4 程序行计数器插件 282
程序5 SmartHelp帮助文件插件 283
程序6 WM_COMMAND用户消息宏 283
程序7 去除替换字符和重复的注释 285
第29章 剪贴板 287
程序1 ClipConvert——剪贴板数据转换器 287
程序2 从资源管理器中复制文件名 288
第30章 时间和日期 290
程序1 一周时间选择器 290
第31章 DLL 292
程序1 建立非MFC DLL的静态链接 292
程序2 显示已装载模块 298
程序3 运行时动态调用DLL 299
第32章 DEBUG 303
程序1 LibDump 303
程序2 QProfile工具包—一个评估代码的类 303
程序3 Visual C++定制Debug监视器 304
第33章 C++和MFC类 307
程序1 强大的函数解析 307
程序2 CEditDist抽象类 307
程序3 环形缓冲区 308
程序4 ComprLib—数据压缩类库 308
程序5 观察者模式类 311
程序6 CStringArray的快速排序 313
程序7 CArray模板类的快速排序 314
程序8 用名字实例化类 315
程序10 TimeStamp—替代COleDateTime和COleDateTimeSpan 316
程序9 独立于AVL库的存储媒体 316
第34章 综合实例 317
程序1 磁盘空间监测器 317
程序2 取回密码程序 317
程序3 OutLook风格的数据库浏览器 318
第35章 常用工具 324
程序1 命令行查找工具 324
程序2 Win32 DEF文件生成器 325
程序3 文件快速分隔器 326
程序4 资源查找器 327
程序5 StampVer—版本资源修改器 327
程序6 存储过程类向导 329
程序7 系统颜色变换器 330
程序2 CIniFile—读写INI文件的类 332
程序1 文件被其它程序更改时提醒用户 332
第36章 其他杂类 332
程序3 建立一个自解压的可执行文件 334
程序4 得到版本信息的CWinApp派生类 336
程序5 在任何从CWnd派生的窗口中实现拖放 336
程序6 综合系统日志 339
程序7 在标题栏和菜单条之间加入标识图 340
程序8 MFC窗口风格预览器 342
程序9 图形选择缩放类 343
程序10 简单的消息服务 346
程序11 简单的函数式计算器 352
程序12 非窗口类的计时器支持 354
程序13 在内部过程通信(IPC)中使用内存映射文件 355
程序14 Win32位图屏幕保护程序 355
程序15 xSleep—Sleep函数的改进 355
程序16 在MFC中使用Zip和UnZip 355