第1章 Visual Studio.NET简介 1
1-1 Visual Studio.NET的新特性 2
1-2 Microsoft的.NET战略 3
1-2-1 .NET的核心组件 3
1-2-2 .NET的重大意义 3
1-2-3 .NET与Wed服务 4
1-2-4 .NET体验 4
1-3 Visual Studio.NET Framework开发平台 5
1-3-1 什么是.NET框架 5
1-3-2 .NET框架与Java框架 7
1-4 Visual C++.NET的新特性 8
1-4-1 托管扩展 8
1-4-2 Visual C++还是Visual C# 9
1-4-3 VC++.NET的优势 10
1-5-1 启动界面 11
1-5 Visual C++.NET的全新集成开发环境 11
1-5-2 解决方案管理器 12
1-5-3 工具箱 13
1-5-4 代码编辑窗口 14
1-5-5 资源视图 16
1-5-6 类视图 16
1-5-7 属性窗口 17
1-5-9 提示窗口栏 18
1-5-8 服务器浏览器 18
第2章 漂亮的媒体播放器 19
2-1 项目背景 20
2-2 技术要点 20
2-3 编程思路 20
2-4 编程步骤及代码分析 21
2-4-1 建立一个基于对话框的程序框架 21
2-4-2 加入控件并对Dialog作相应的调整 21
2-4-3 实现不规则窗口的编程代码 22
2-4-4 使用媒体播放器控件 23
2-4-5 实现托盘图标 24
2-5 工程实例效果 26
2-6 编程技巧说明 27
2-6-1 CBitmap类 27
2-6-2 用MFC显示DDB位图 28
2-6-3 使用内存设备上下文 29
2-6-4 使用CRgn对象创建不规则区域 29
2-6-5 设置窗口形状 30
2-6-6 在窗口任何区域内拖动鼠标使窗口移动 30
2-6-7 托盘图标的实现 30
2-7 小结 36
第3章 特效屏保 37
3-1 项目背景 38
3-2 技术要点 38
3-3 编程思路 38
3-4-1 建立屏幕保护程序框架 39
3-4 编程步骤及代码分析 39
3-4-2 先期工作 40
3-4-3 扫描特效的实现 41
3-4-4 移动特效 44
3-4-5 百叶窗特效 47
3-4-6 栅条特效 49
3-4-7 马赛克特效 51
3-4-8 用定时器控制程序显示 54
3-4-9 控制随机显示 55
3-4-10 收尾工作 56
3-5 工程实例效果 56
3-6 编程技巧说明 56
3-7 小结 58
第4章 抓图程序 59
4-1 项目背景 60
4-2 技术要点 60
4-2-1 计算机图像处理的基本概念 60
4-2-2 Windows中的调色板模式 61
4-2-3 DDB和DIB位图 62
4-2-4 几个重要的DIB函数 64
4-2-5 屏幕抓图 66
4-3 编程思路 67
4-4 编程步骤及代码分析 68
4-4-1 封装一个处理位图的类CDIB 68
4-4-2 实现捕获窗口 74
4-4-3 实现捕捉全屏和指定区域 78
4-5 工程实例效果 82
4-6 小结 82
第5章 用OpenGL实现三维动画 83
5-1 项目背景 84
5-2 技术要点 84
5-2-1 计算机图像处理与OpenGL 84
5-2-2 OpenGL编程概述 85
5-2-3 理解OpenGL 86
5-2-4 OpenGl绘图步骤 87
5-2-5 OpenGl函数 88
5-3 实现程序框架 89
5-4 使用OpenGL绘制计算机图形 93
5-4-1 绘制简单平面图形 93
5-4-2 着色与旋转图形 98
5-4-3 绘制三维立体动画 101
5-4-4 使用纹理贴图建立真实世界 105
5-4-5 添加键盘控制能力 115
5-4-6 创建三维动画世界 116
5-5 工程实例效果 126
5-6 小结 126
第6章 高级启动退出界面 127
6-1 项目背景 128
6-2 软件封面制作 128
6-2-1 使用Splash控件 128
6-2-2 基于对话框程序的启动封面 136
6-2-3 自己创建扩展窗口 137
6-2-4 使用Authorware 140
6-2-5 利用MCIWnd类 141
6-3 对话框弹出、消隐特效 144
6-3-1 对话框的动态弹出 144
6-3-2 对话框的动画弹出和动画消隐 146
6-4 对话框淡入淡出效果 148
6-5 小结 152
第7章 串口技术开发游船定位系统 153
7-1 项目背景 154
7-2 技术要点 154
7-2-1 串口通信原理 154
7-2-2 16位串口应用程序的简单回顾 155
7-2-3 使用ActiveX控件 155
7-2-3 使用32位的API函数 159
7-3-2 编程思路 162
7-3-1 项目背景 162
7-3 游船定位系统 162
7-3-3 实现步骤 163
7-4 串口调试方法 177
7-5 小结 178
第8章 DirectX游戏世界 179
8-1 项目背景 180
8-2 技术要点 180
8-2-1 什么是DirectX技术 180
8-2-2 DirectX的组件 181
8-2-3 DirectX8.0的新特性 182
8-2-4 DirectX新增组件介绍 182
8-3 安装使用DirectX 188
8-3-1 编译库和运行库 188
8-3-2 安装DirectX5.0的SDK 189
8-4 用DirectDraw实现动画 190
8-4-1 DirectDraw技术 190
8-4-2 创建程序框架 192
8-4-3 使用DirectDraw对象绘图 207
8-5 畅游3D世界 213
8-5-1 建立Direct3D程序框架 213
8-5-2 绘制动画代码 226
8-5-3 Direct3D动画实例效果 229
8-6 小结 230
第9章 邮件发送程序 231
9-1 项目背景 232
9-2 技术要点 232
9-2-1 电子邮件 232
9-2-2 电子邮件中的地址 233
9-2-3 电子邮件工作原理 233
9-2-4 简单邮件传输协议(SMTP) 234
9-3 邮件发送程序编程思路 238
9-4-1 建立程序框架 239
9-4 编程步骤及代码分析 239
9-4-2 建立用户界面 241
9-4-3 程序运行效果 250
9-4-4 程序小结 250
9-5 使用MAPI开发电子邮件应用程序 250
9-5-1 MAPI 251
9-5-2 使用MAPI发送邮件实例 251
9-5-3 实例效果 257
9-6 小结 258
第10章 Internet浏览器 259
10-1 项目背景 260
10-2 编写标准浏览器 260
10-2-1 编程思路 260
10-2-2 建立程序框架 261
10-2-3 创建工具栏 262
10-2-4 用下拉列表框创建地址栏 266
10-2-5 创建状态栏和动画控件 267
10-2-6 添加活动栏 268
10-2-7 下拉菜单 270
10-2-8 添加Favorite菜单 270
10-2-9 使用CHtmlView实现浏览功能 275
10-2-10 浏览器效果 279
10-3 定制CHtmlView 279
10-3-1 阻止用户浏览不良网站 279
10-3-2 记录用户浏览的网站地址 280
10-3-3 过滤IE的弹出式广告窗口 281
10-3-4 利用CHtmlView制作精美用户界面 282
10-4 使用WinInet查看HTML源代码 285
10-4-1 WinInet介绍 285
10-4-2 编写HTML源码浏览对话框 285
10-5 工程实例效果 292
10-6 小结 292
第11章 楼盘信息查询系统 293
11-2-1 VC++数据库开发技术的比较 294
11-2 技术要点 294
11-1 项目背景 294
11-2-2 ADO技术介绍 297
11-2-3 ADO的实现方法 298
11-3 编程思路 301
11-4 编程步骤及代码分析 302
11-4-1 建立数据库 302
11-4-2 建立程序框架和用户界面 302
11-4-3 ADO的初始化 303
11-4-4 创建Connection对象并连接数据库 304
11-4-5 执行SQL命令并取得结果记录集 305
11-4-6 保存与载入数据 308
11-4-7 响应用户操作 309
11-4-8 释放ADO对象 311
11-4-9 楼盘检索程序效果 311
11-5 高级ADO技术 311
11-5-1 执行SQL命令 311
11-5-2 使用UDL文件来建立ADO连接 313
11-6 小结 314
第12章 远程数据库查询系统 315
12-1 项目背景 316
12-2 技术要点 316
12-2-1 数据库访问对象技术(DAO) 316
12-2-2 WinSocket编程 318
12-3 编程思路 323
12-4 编程步骤及代码分析 324
12-4-1 建立程序框架 324
12-4-2 实现切分窗口 325
12-4-3 添加框架资源 327
12-4-4 实现DAO的框架 328
12-4-5 在CDaoTreeView中实现显示数据库结构 329
12-4-6 在CDaoListView中实现数据显示 337
12-4-7 使用CSocket添加网络传输能力 343
12-4-8 使用Socket传输结果集 347
12-5 工程实例效果 351
12-6 使用自定义消息控制远程数据库 352
12-7 小结 354
第13章 强大的系统钩子 355
13-1 项目背景 356
13-2 技术要点 356
13-2-1 Windows内部运行机制 356
13-2-2 系统钩子 361
13-2-3 系统钩子的编程思路 363
13-3 键盘热键监控程序 364
13-3-1 编程思路 364
13-3-2 实现热键管理DLL 365
13-3-3 用户程序代码 372
13-3-4 小结 373
13-4-1 编程思路 374
13-4-2 编程步骤 374
13-4 用户监控程序 374
13-5 发音键盘 378
13-5-1 钩子程序具体实现 379
13-5-2 编写应用程序 380
13-6 鼠标钩子与屏幕截词 381
13-6-1 鼠标钩子实例 381
13-6-2 屏幕截词技术 382
13-7 小结 384
第14章 托管扩展 385
14-1 托管扩展的技术背景 386
14-1-1 VC++系列开发软件的历史背景 386
14-1-2 VC++.NET的开发范围 386
14-1-3 为什么要使用C++托管扩展 387
14-2 应用托管扩展 388
14-2-1 添加C++托管扩展支持 388
14-2-2 托管类型介绍 389
14-3-2 托管类型的特性与限制 390
14-3 理解托管类型 390
14-3-1 三类托管类型 390
14-3-3 垃圾收集类(Garbage Collected Type) 391
14-3-4 值类(Value Type) 391
14-3-5 托管接口(Managed Interface) 392
14-3-6 封箱与拆箱 393
14-3-7 托管数组 393
14-3-8 托管字符串 395
14-3-9 代理 395
14-3-10 全局属性(Global Attribute) 395
14-4 编程实例 396
14-4-1 用向导创建托管扩展的程序框架 396
14-4-2 使用C++类库的程序向导 399
14-4-3 把未托管代码封装为.NET框架组件 400
14-4-4 使用托管扩展访问数据库 403
14-4-5 使用托管扩展编写记事本程序 405
14-5 小结 414