第1章 Visual C++.NEt新功能 1
1.1 托管代码和面向.NET框架 1
1.2 属性编程 1
1.3 C++编译器、链接器和C++语言 2
1.4 调试器 2
1.5 开发环境 2
1.6 库 3
第2章 Visual C++.NET集成开发环境 7
2.1 安装系统需求 7
2.1.1 硬件需求 8
2.1.2 软件需求 8
2.2 安装Visual Studio.NET 8
2.3.1 解决方案资源管理器 13
2.3 界面新变化 13
2.3.2 代码编辑器 14
2.3.3 对象浏览器 14
2.3.4 属性窗口 15
2.3.5 命令窗口 16
2.3.6 任务列表 16
2.3.7 工具箱 17
2.3.8 动态帮助 17
2.3.9 服务器资源管理器 18
2.4 菜单 18
2.4.1 文件菜单 18
2.4.2 编辑菜单 24
2.4.3 视图菜单 28
2.4.4 项目菜单 31
2.4.5 生成菜单 35
2.4.6 调试菜单 37
2.4.7 工具菜单 39
2.4.8 窗口菜单 46
2.4.9 帮助菜单 48
第3章 创建第一个Visual C++.NET程序 52
3.1 利用应用程序向导产生代码框架 52
3.2 添加程序代码 54
3.3 程序调试 55
3.3.1 代码反汇编窗口 55
3.3.2 自动窗口 56
3.3.3 局部变量窗口 56
3.3.4 监视窗口 57
3.3.5 立即窗口 57
3.3.6 内存窗口 58
3.3.7 寄存器窗口 59
3.4 程序的发行 59
3.5 程序的部署 60
3.5.1 程序部署概述 60
3.5.2 部署项目分类 61
3.5.3 部署Windows应用程序的步骤 62
第4章 托管代码对标准C++的扩展 64
4.1 托管C++扩展概述 64
4.2 托管C++工程类型 65
4.3 托管类型 66
4.4 __gc数组 66
4.5 托管类型中的指针类型 68
4.6 托管C++中的值类型 71
4.6.1 声明和创建Value类型 72
4.6.2 装箱(Boxing)和出箱(Unboxing) 73
4.7 字符串 75
4.8 字符串操作函数 76
4.9 代理 78
4.10 托管类的属性 82
4.11 托管扩展的异常处理 85
4.11.1 使用托管扩展抛出异常 85
4.11.2 使用托管扩展的try/catch块 86
4.11.3 捕捉非托管C++类型 87
4.11.4 托管异常的基本概念 88
第5章 如何使用托管的C++扩展 95
5.1 对现有应用程序增加托管扩展的支持 95
5.2 托管类型和main函数 96
5.4 语言互操作性 97
5.3 托管类型和MFC 97
5.5 从托管扩展的C++应用程序中存取Visual C#动态链接库 98
5.6 从托管扩展的C++程序中存取非托管动态链接库函数 101
5.7 在托管应用程序中使用非托管的COM组件 108
5.7.1 创建ATL COM组件 108
5.7.2 组件调用 111
第6章 WinForm及控件编程 115
6.1 窗体(Form)类 115
6.2 菜单(Menu)设计 116
6.3 文本框(TextBox) 120
6.4 按钮(Button) 121
6.5 标签(Label) 121
6.6 单选按钮(Radio Button) 122
6.7 复选框(CheckBox) 123
6.8.1 列表框(ListBox) 125
6.8 列表框和复选列表框 125
6.8.2 复选列表框(CheckedListBox) 126
6.9 组合框(ComboBox) 128
6.10 滚动条和滑动杆控件 129
6.10.1 滚动条(ScrollBar) 129
6.10.2 滑动杆(TrackBar) 130
6.11 超链接标签(LinkLabel) 131
6.12 任务状态区图标(NotifyIcon) 132
6.13 时钟(Timer) 133
6.14 进度条(ProgressBar) 134
6.15 微调(DomainUpDown和NumericUpDown) 135
6.16 状态栏(StatusBar) 136
6.18 面板控件(Panel)和组框(Group Box)控件 137
6.17 图片框(PictureBox) 137
6.19 对话框类 139
6.19.1 文件对话框(FileDialog) 139
6.19.2 字体对话框 141
6.19.3 颜色对话框 142
6.19.4 页面设置、打印、打印预览对话框 142
第7章 高级控件编程 147
7.1 工具提示(ToolTip) 147
7.2 月历控件和时间日期拾取 148
7.2.1 月历控件(MonthCalendar) 148
7.2.2 时间日期拾取(DateTimePicker) 148
7.3 工具栏(ToolBar) 151
7.4 帮助提供者(HelpProvider) 152
7.5 图像列表控件(ImageList) 153
7.6 选项卡(TabControl) 154
7.7 列表视图(List View) 165
7.8 树视图(TreeView) 170
7.9 多格式文本框(RichTexBox) 180
7.10 拆分器(Splitter) 181
第8章 GOI十编程 183
8.1 GDI十编程概述 183
8.2 新增功能 183
8.3 编程模式的变化 185
8.4 简单示例程序 189
8.5 直线和简单图形的绘制 192
8.6 使用画刷填充形状 194
8.7 使用图像、位图和图元文件 199
8.8 图像格式的转换 205
8.9 多帧图像的处理 207
8.10 文本和字体 209
8.11 构造和绘制路径 213
8.12 使用区域 214
8.13 打印 215
第9章 WTL编程 221
9.1 WTL概述 221
9.2 WTL的特征和安装 221
9.3 压缩包文件列表 222
9.4 WTL类的综述 223
9.5 创建WTL应用程序 229
9.6 WTL类库的使用 236
9.7 WTL编程实例 241
10.2 利用向导程序创建COM组件 246
10.1 ATL编程简介 246
第10章 使用ATL编写COM组件 246
10.3 向ATL项目添加对象或控件 257
10.4 向ATL项目添加一个新的接口 261
10.5 用ATL创建一个用于ASP的组件 261
10.6 ATL组件实现Shell上下文快捷菜单 263
10.7 利用ATL和BHO对IE进行扩展 271
10.8 增加新接口扩展ATL COM对象 282
第11章 事件编程 286
11.1 统一事件模型简介 286
11.1.1 事件处理元素 286
11.2 创建事件源和事件接收者 287
11.2.1 创建一个事件源 287
11.1.3 事件接收者 287
11.1.2 事件源 287
11.2.2 创建一个事件接收者(sink) 288
11.3 事件的挂钩和取消 289
11.3.1 事件的挂钩 289
11.3.2 事件挂钩的解除 290
11.4 事件 291
11.5 本机事件 293
11.5.1 声明本机事件 293
11.5.2 定义本机事件处理程序 294
11.5.3 将本机事件处理程序与本机事件挂钩 294
11.5.4 激发本机事件 294
11.6 COM事件 295
11.6.1 声明COM事件 295
11.6.2 定义并关联COM事件处理程序 295
11.6.3 激发COM事件 296
11.6.4 与布局相关的COM事件 298
11.7.1 声明托管事件 299
11.7 托管事件 299
11.7.2 定义并关联托管事件处理程序 300
11.7.3 激发托管事件 300
第12章 基于DHTML的对话框应用程序 302
12.1 DHTML对话框简介 302
12.2 使用MFC向导创建基于DHTML对话框的应用程序 302
12.2.1 生成DHTML对话框程序框架 302
12.2.2 添加对话框消息映射 303
12.2.3 对话框数据交换和验证 306
12.3 CDHtmlDialog类成员 307
12.4 多页的DHTML对话框 310
13.2 属性的使用 314
13.2.1 _accessor 314
13.1 OLE DB使用者属性编程简介 314
第13章 OLE DB使用者属性编程 314
13.2.2 db_ column 315
13.2.3 db_ command 316
13.2.4 db_ param 321
13.2.5 db_ source 322
13.2.6 db_ table 323
13.3 综合示例 323
第14章 使用ATL Server开发Web应用程序 330
14.1 ATL Server简介 330
14.2 ATL Server与ASP和ISAPI的比较 331
14.3 SRF文件语法 333
14.3.1 codepage标签 334
14.3.3 handler标签 335
14.3.2 comment标签 335
14.3.4 include标签 336
14.3.5 locale标签 336
14.3.6 替换标签 337
14.3.7 subhandler标签 338
14.3.8 静态内容 338
14.4 替换方法和解析函数 339
14.5 使用ATL Server创建一个简单的HelloWorld程序 343
14.6 请求处理类 351
第15章 ATL Web Service开发 358
15.1 Web Service模型简介 358
15.2 使用Web服务编程 359
15.2.1 用托管代码存取Web服务 361
15.2.2 用非托管代码存取Web服务 362
15.3 Web服务编程常用的属性 363
15.4 使用ATL Server实现Web服务示例 366
第16章 标准模板库 369
16.1 标准模板库概述 369
16.2 vector类 370
16.3 list类 373
16.4 deque类 375
16.5 basic_string类 377
16.6 map类 380
16.7 set类 383
16.8 stack类 385
16.9 queue类 386
16.10 priority-queue类 388
16.11 algorithm算法 391