初级篇 熟悉Visual Studio.net 3
第1章Visual Studio.net简介 3
1.1 Visual Studio.net的特点 4
1.1.1减少编程的代码量,提高开发效率 4
1.1.2 Windows 和Web开发的强有力的工具 4
1.1.3语言革新 4
1.1.4简化了基于服务器的开发 4
1.1.5简化了Web服务的创建和使用 5
1.1.6提供端到端完整的开发生命周期支持 5
1.2 Visual Studio.net新增功能简介 5
1.2.1新的共享集成开发环境(IDE) 5
1.2.2新的Visual Studio起始页 5
1.2.3增强的解决方案管理器 6
1.2.4增强的工具箱 7
1.3小结和习题 12
1.3.1小结 12
1.3.2习题与思考 12
第2章Visual C++.NET开发环境及功能简介 13
2.1集成开发环境的新特点 14
2.1.1选择创建工程类型 14
2.1.2更加易于交互的应用程序向导 16
2.1.3没有ClassWizard怎么办 17
2.1.4基于属性的编程方法 18
2.1.5动态设置工具栏按钮 19
2.2集成开发环境的使用 20
2.2.1 Resource View简介 20
2.2.2属性窗口简介 20
2.2.3工具栏简介 21
2.2.4解决方案管理器窗口简介 22
2.2.5 Class View简介 23
2.2.6定制开发环境样式 23
2.3增强的网络编程功能 24
2.3.1新增的.NET Framework工程 24
2.3.2增强的ATL编程功能 25
2.4小结和习题 27
2.4.1小结 27
2.4.2习题与思考 27
中级篇 Windows 编程 31
第3章 面向对象程序设计 31
3.1面向对象程序设计概述 32
3.1.1对象、属性和方法 33
3.1.2类与对象 33
3.1.3构造函数 35
3.1.4析构函数 36
3.1.5多态性 37
3.1.6友员 38
3.1.7类的静态成员 39
3.2面向对象程序设计的特点 39
3.2.1封装性 39
3.2.2继承性 40
3.2.3多态性 40
3.3小结和习题 40
3.3.1小结 40
3.3.2习题与思考 41
第4章 创建Windows 应用程序 43
4.1使用向导生成工程MyFirstApp框架 44
4.1.1设置Application Type页面 44
4.1.2设置Compound Document Support页面 45
4.1.3设置Document Template Strings页面 46
4.1.4设置数据库支持页面 47
4.1.5设置应用程序界面的特征 47
4.1.6设置文件和类名页面 48
4.2为应用程序添加功能 49
4.2.1添加绘图代码 50
4.2.2编译并生成执行文件 50
4.3 MFC类库简介 51
4.4小结和习题 53
4.4.1小结 53
4.4.2习题与思考 53
第5章 Visual C++.NET中的消息和命令 55
5.1消息概述 56
5.1.1消息传递 56
5.1.2消息循环 56
5.2理解MFC中的消息映射机制 57
5.2.1消息映射宏 57
5.2.2消息映射的工作方式 58
5.2.3如何响应鼠标消息 59
5.3如何为应用程序添加消息 61
5.3.1使用属性框添加Windows 消息 61
5.3.2添加自定义消息 62
5.4命令及其更新 63
5.4.1命令消息 63
5.4.2命令更新 63
5.5编程举例——MicroCad绘图系统 64
5.5.1创建工程 64
5.5.2添加自定义类 65
5.5.3添加菜单命令 72
5.5.4添加鼠标消息 74
5.5.5添加工具栏按钮 78
5.5.6运行应用程序进行绘图 79
5.6小结和习题 80
5.6.1小结 80
5.6.2习题与思考 81
第6章 理解Visual C++.NET中的文档和视图 83
6.1理解文档模板 84
6.1.1文档模板的构成 84
6.1.2文档模板的创建 84
6.1.3文档和视图 85
6.1.4最简单的文档/视图应用 89
6.2理解切分窗口 90
6.2.1切分窗口 90
6.2.2动态与静态切分窗口 92
6.2.3滚动视图和CScrollView类 93
6.3单文档应用程序编程举例——SDISample 95
6.3.1创建工程 95
6.3.2实现切分窗口 96
6.3.3添加功能代码 98
6.3.4编译并生成可执行文件 99
6.4多文档界面编程举例——MDISample 99
6.4.1创建工程 100
6.4.2修改文档和视图类 101
6.4.3完成视图类CEnterView 102
6.4.4完成视图类CDispView 106
6.4.5完成CStaticSplitFrm类 108
6.4.6添加模板资源 109
6.4.7编译并生成可执行文件 110
6.5完善MicroCad绘图系统 111
6.5.1 CObList类简介 111
6.5.2实现存储功能 112
6.5.3实现编辑功能 116
6.6小结和习题 121
6.6.1小结 121
6.6.2习题与思考 122
第7章 使用Visual C++.NET添加对话框资源 123
7.1对话框的基本概念 124
7.1.1模式对话框的编程 124
7.1.2无模式对话框编程 125
7.1.3 CFormView类 126
7.2添加对话框资源 127
7.2.1利用Add New Class添加对话框 127
7.2.2控件板介绍 129
7.2.3定义对话框和控件ID 130
7.2.4了解控件消息 131
7.3使用对话框类 134
7.3.1为控件添加数据成员 134
7.3.2对话框的初始化 135
7.3.3对话框的显示 136
7.3.4实现数据交换 137
7.3.5实现交互功能 138
7.3.6为控件添加消息响应函数 141
7.4为MicroCad绘图系统添加对话框资源 143
7.4.1定制对话框模板 144
7.4.2为控件添加数据成员 145
7.4.3添加全局变量 145
7.4.4完善文档和视图类 146
7.4.5完成对话框类 147
7.5小结和习题 150
7.5.1小结 150
7.5.2习题与思考 150
第8章 利用Visual C++.NET创建动态链接库 151
8.1动态链接库的概念 152
8.1.1函数的导入与导出 152
8.1.2隐式链接和显式链接 153
8.1.3动态链接和静态链接 154
8.1.4入口点——DllMain 154
8.1.5客户程序如何找到DLL 155
8.1.6使用DLL的好处 155
8.2使用MFC编写DLL 155
8.2.1扩展DLL和正规DLL 156
8.2.2创建一个扩展DLL——CExtentionDll 157
8.2.3编写CExtentionDll的测试客户程序 159
8.2.4创建一个正规DLL——CRegularDll 162
8.2.5编写CRegularDll的测试客户程序 163
8.3小结和习题 164
8.3.1小结 164
8.3.2习题与思考 164
高级篇 组件和网络编程 167
第9章 使用Visual C++.NET进行COM组件编程 167
9.1对象组件模型(COM) 168
9.1.1 COM所解决的问题 168
9.1.2 COM本质 168
9.2 COM对象和接口 169
9.2.1 COM对象 169
9.2.2全局惟一标识符GUID 169
9.2.3 COM对象的特点 171
9.2.4 COM接口 172
9.2.5接口描述语言IDL 175
9.2.6接口的特点 177
9.3 IUnknown接口 178
9.3.1引用计数 178
9.3.2接口查询 179
9.4 COM的实现 182
9.4.1进程内组件和进程外组件 183
9.4.2类厂 184
9.4.3 COM库 198
9.5 COM特性 201
9.5.1包容和聚合(可重用性) 201
9.5.2实现包容 203
9.5.3实现聚合 204
9.5.4列集(marshaling) 206
9.6 COM客户 208
9.6.1 COM对象创建函数 208
9.6.2运行时的对象注册 210
9.6.3 COM客户程序调用进程内组件 211
9.6.4 COM客户程序调用进程外组件 212
9.7 MFC对COM的支持 214
9.7.1 MFC接口宏 215
9.7.2 MFC对自动化的支持 219
9.7.3 MFC对ActiveX控制的支持 220
9.7.4 MFC对复合文档的支持 221
9.8基于MFC的COM编程举例 222
9.8.1使用MFC创建服务程序 222
9.8.2创建COM客户程序 228
9.9 COM扩展技术(COM+)介绍 230
9.9.1 COM与Windows DNA 230
9.9.2组件服务配置 231
9.9.3事务处理 233
9.9.4排队组件(QC) 234
9.9.5动态负荷平衡 235
9.9.6对象池 236
9.10小结和习题 237
9.10.1小结 237
9.10.2习题与思考 237
第10章 ATL编程——Visual C++.NET的增强功能 239
10.1 ATL基础 240
10.1.1使用模板库 241
10.1.2 ATL范围 241
10.1.3何时使用ATL 242
10.2 ATL窗口类 242
10.2.1使用窗口 242
10.2.2实现一个窗口 243
10.2.3实现一个对话框 245
10.2.4使用容器窗口 246
10.3连接点 247
10.3.1连接点类 247
10.3.2给对象增加一个连接点 248
10.3.3连接点的例子 248
10.4枚举器(Enumerator) 249
10.5代理 249
10.5.1何为ATL代理 249
10.5.2如何生成连接点或快捷指针的代理 250
10.6 ATL服务 250
10.6.1 CServiceModule::Start函数 250
10.6.2 CServiceModule::ServiceMain函数 251
10.6.3 CServiceModule::Run函数 251
10.6.4 CServiceModule::Handler函数 252
10.7创建一个简单的ATL控件工程 252
10.7.1第1步:创建工程 252
10.7.2第2步:添加控件 254
10.7.3第3步:增加属性 259
10.7.4第4步;修改绘图代码 261
10.7.5第5步:增加事件处理代码 264
10.7.6第6步;增加属性页 270
10.7.7第7步:将控件放在主页上 274
10.8 ATL Server编程 276
10.8.1 ATL Server简介 276
10.8.2 ATL Server宏 276
10.8.3 ATL Server属性 277
10.8.4 ATL Server函数 282
10.8.5服务器响应文件 283
10.8.6 ATL Server程序结构 284
10.8.7创建ATL Server服务器工程 285
10.9 ATL Web Services 编程简介 290
10.9.1 ATL Web服务的基础结构 291
10.9.2服务描述语言(SDL) 291
10.9.3创建ATL Web服务提供者工程 292
10.9.4创建ATL Web服务使用者工程 295
10.10小结和习题 303
10.10.1小节 303
10.10.2习题与思考 304
第11章 利用Visual C++.NET进行ActiveX编程 305
11.1 ActiveX简介 306
11.1.1 ActiveX的用途 306
11.1.2对象链接和嵌入 306
11.1.3容器和服务器 306
11.1.4 ActiveX自动化编程 307
11.1.5 ActiveX控件和控件容器 307
11.2 ActiveX控件编程 307
11.2.1 ActiveX控件概述 308
11.2.2 ActiveX控件的事件 308
11.2.3 ActiveX控件的方法 312
11.2.4 ActiveX控件的属性 313
11.2.5 ActiveX控件的属性页 314
11.2.6编写ActiveX控件程序 315
11.3编写ActiveX容器程序 323
11.3.1容器程序的实现过程 323
11.3.2容器程序中的类 324
11.3.3创建容器工程 328
11.3.4运行容器程序 330
11.3.5管理嵌入对象的大小和位置 331
11.3.6使用鼠标选取 335
11.3.7删除嵌入对象 339
11.4编写ActiveX服务器程序 341
11.4.1服务器程序的实现过程 341
11.4.2服务器程序中的类 342
11.4.3创建服务器程序 345
11.4.4完善服务器应用程序 345
11.4.5运行服务器 350
11.5编写自动化应用程序 352
11.5.1自动化服务器程序 353
11.5.2自动化客户程序 353
11.6小结和习题 354
11.6.1小结 354
11.6.2习题与思考 354
第12章 使用扩展的受控C++进行.NET编程 355
12.1理解.NET Framework编程 356
12.1.1公用语言运行环境(Common Language Runtime) 356
12.1.2理解部件Assemblies 357
12.1.3元数据和自我描述组件 358
12.2理解扩展的受控编程 359
12.3何时使用扩展的受控C++语言 360
12.4公用类型系统The Common Type System 361
12.5扩展的受控C++语言简介 361
12.5.1受控类型 361
12.5.2受控数组 363
12.5.3扩展的受控C++中的字符串 364
12.5.4扩展的受控C++中的代理 365
12.5.5受控对象的性质 365
12.6如何使用扩展的受控C++语言进行编程 366
12.6.1在现有工程中添加对扩展受控C++的支持 366
12.6.2全局属性和扩展受控C++ 368
12.6.3受控类型和MFC 369
12.7创建Managed C++ Application工程 370
12.7.1创建受控应用程序 370
12.7.2添加功能 371
12.7.3编译并运行应用程序 375
12.8小结和习题 376
12.8.1小结 376
12.8.2习题与思考 376
第13章 使用Visual C++.NET编写Web浏览器 377
13.1Web网页浏览器知识简介 378
13.1.1网页浏览器简介 378
13.1.2 CHtmlView类简介 379
13.1.3在MFC应用中使用CHtmlView类 379
13.2使用CHtmlView类创建自己的Web浏览器 385
13.2.1创建工程 385
13.2.2添加地址输入对话框 386
13.2.3添加菜单 387
13.2.4修改工具条资源 387
13.2.5添加菜单消息响应函数 388
13.2.6运行应用程序 389
13.3小结和习题 391
13.3.1小结 391
13.3.2习题与思考 391
第14章 使用Visual C++.NET进行Internet编程 393
14.1Windows 套按字编程 394
14.1.1什么是Windows 套接字 394
14.1.2套接字的两种形式 394
14.1.3 Winsock API 395
14.1.4 MFC WinSock类 399
14.1.5用CSocket编写WinSock程序 404
14.2 WinInet编程 407
14.2.1 WinInet相对于WinSock的优势 408
14.2.2 MFC WinInet类 408
14.2.3编写WinInet程序 410
14.3 Internet Server API(ISAPI) 418
14.3.1为什么要用ISAPI及ISAPI的分类 418
14.3.2 ISAPI服务器扩展应用程序 419
14.3.3 ISAPI过滤程序 420
14.3.4 ISAPI的MFC类 422
14.3.5 ISA应用程序的调试 426
14.3.6编写服务器扩展应用程序 427
14.4小结和习题 432
14.4.1小结 432
14.4.2习题与思考 433
附录 培训大纲 434