图书介绍
Microsoft Visual C++ .NET技术内幕 第6版2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

- (美)George Shepherd,(美)David Kruglinski著;潘爱民译 著
- 出版社: 北京:清华大学出版社
- ISBN:7302089310
- 出版时间:2004
- 标注页数:920页
- 文件大小:18MB
- 文件页数:956页
- 主题词:C语言-程序设计
PDF下载
下载说明
Microsoft Visual C++ .NET技术内幕 第6版PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
1.1 Windows编程模型3
1.1.1 消息处理3
目录3
第1部分 Windows、Visual C++.NET和应用程序框架基础3
第1章 Windows和Visual C++.NET3
1.1.2 Windows的图形设备接口(GDI)4
1.1.6 Win32应用程序编程接口5
1.1.5 动态连接库(DLL)5
1.1.3 基于资源的程序设计5
1.1.4 内存管理5
1.2.1 Visual C++.NET和创建过程6
1.2 Visual C++.NET的组成6
1.2.4 源代码编辑器9
1.2.3 C/C++编译器9
1.2.2 资源视图窗口和资源编辑器9
1.2.7 调试器10
1.2.6 连接器10
1.2.5 资源编译器10
1.2.8 MFC Application Wizard11
1.2.11 对象浏览器12
1.2.10 解决方案资源管理器12
1.2.9 Class View12
1.2.13 联机帮助13
1.2.12 UML工具13
1.2.16 ATL库版本7.014
1.2.15 MFC库版本714
1.2.14 Windows诊断工具14
1.2.17 .NET支持15
2.1 为什么要使用应用程序框架16
第2章 Microsoft基本类库应用程序框架16
2.2.1 应用程序框架和类库20
2.2 什么是应用程序框架20
2.1.1 学习曲线20
2.2.2 应用程序框架示例21
2.4 文档和视图24
2.3 MFC库消息映射24
3.1 什么是视图29
第3章 从MFC Application Wizard开始学习29
第Ⅱ部分 MFC基础29
3.4 Ex03a:“不做任何事情”的应用程序30
3.3 MFC库支持的用户界面30
3.2 MFC库应用程序的类犁30
3.5 CEx03aView视图类34
3.6.2 Windows设备环境35
3.6.1 OnDraw成员函数35
3.6 在视图窗口内绘图:Windows GDI35
3.6.3 向Ex03a程序中添加绘制代码36
3.7.1 Ex03a.rc的内容37
3.7 资源编辑器简介37
3.7.2 运行对话框资源编辑器38
3.8 Win32 Debug目标和Win32 Release目标39
3.9 对预编译头文件的理解40
3.10 两种方法运行程序42
4.1 向导的类型43
第4章 Visual C++.NET向导43
4.2 向导是如何工作的44
4.3 创建一个向导45
4.4 创建一个“用托管c++来开发Web应用程序”的向导46
5.1 获取用户输入——消息映射函数53
第5章 Windows消息映射53
5.1.2 保存视图的状态:类的数据成员54
5.1.1 消息映射54
5.1.4 使矩形区域无效的理论55
5.1.3 初始化视图类数据成员55
5.1.7 判断一个点是否在矩形内56
5.1.6 CRect,CPoint和CSize类的运算56
5.1.5 Windows的客户区域56
5.1.9 判断一个点是否在椭圆内57
5.1.8 CRect的LPRECT操作符57
5.1.10 Ex05a示例程序58
5.1.11 对Ex05a使用Class View61
5.2 使用Windows映射模式64
5.2.1 MM_TEXT映射模式65
5.2.3 “可变比例”映射模式66
5.2.2 “固定比例”映射模式66
5.2.4 坐标转换68
5.2.5 Ex05b示例程序——转换到MM_HIMETRIC映射模式69
5.3.3 滚动方式的选择71
5.3.2 滚动条71
5.3 创建一个滚动视图窗口71
5.3.1 窗口比您所见到的要大71
5.3.6 Ex05c示例程序:滚动72
5.3.5 接收键盘输入72
5.3.4 OnlnitialUpdate函数72
5.4.3 WM_QUERYENDSESSION消息76
5.4.2 WM_CLOSE消息76
5.4 使用其他Windows消息76
5.4.1 WM_CREATE消息76
5.4.5 WM_NCDESTROY消息77
5.4.4 WM_DESTROY消息77
6.1 设备环境类78
第6章 经典的GDI函数、字体和位图78
6.1.2 构造和析构CDC对象79
6.1.1 显示设备环境类CClientDC和CWindowDC79
6.1.4 CPaintDC类80
6.1.3 设备环境的状态80
6.2.1 GDI对象的构造与析构81
6.2 GDI对象81
6.2.2 跟踪GDl对象82
6.2.4 GDI选择的有效期83
6.2.3 库存的GDI对象83
6.3.1 字体是GDI对象84
6.3 字体84
6.3.4 显示字体85
6.3.3 打印字体85
6.3.2 选择字体85
6.3.5 显示器的逻辑英寸和物理英寸86
6.3.6 计算字符高度87
6.4 Ex06a示例程序88
6.4.1 Ex06a程序的组成元素90
6.5 Ex06b示例程序91
6.6 Ex06c示例程序——再次使用CScrollView94
6.5.1 Ex06b程序的组成元素94
6.6.1 Ex06c程序的组成元素97
6.7 位图99
6.6.3 在滚动视图中使用逻辑twips映射模式99
6.6.2 CScrollView的SetScaleToFitSize模式99
6.7.1 GDI位图和与设备无关的位图100
6.8.1 关于调色板编程的术语101
6.8 DIB和CDib类101
6.7.2 彩色位图和单色位图101
6.8.2 DIB、像素和颜色表102
6.8.3 BMP文件中DIB的结构103
6.8.5 CDib类104
6.8.4 DIB访问函数104
6.8.6 DIB显示性能110
6.8.7 Ex06d示例程序111
6.9 进一步使用DIB113
6.9.1 LoadImage函数114
6.10 在按钮上放置位图115
6.9.2 DrawDibDraw函数115
6.10.1 Ex06e示例程序116
6.10.2 进一步使用位图按钮118
7.2 资源和控件119
7.1 模式和无模式对话框119
第7章 对话框119
7.3 模式对话框的编程120
7.4 包罗万象的对话框——Ex07a示例程序121
7.4.1 创建对话框资源122
7.4.2 创建对话框类127
7.4.3 将对话框与视图相连接131
7.4.4 深入理解Ex07a应用程序133
7.5.1 控制OnOK退出过程134
7.5 Ex07a应用程序的改进134
7.5.2 OnCancel处理135
7.5.3 和滚动条控件挂上钩136
7.6 控件的标识:CWnd指针和控件ID137
7.7 设置对话框的背景色和其中控件的颜色138
7.10 Windows通用对话框139
7.9 利用其他的控件特性139
7.8 在运行时加入对话框控件139
7.10.2 从通用对话框类进行派生140
7.10.1 直接使用CFileDialog类140
7.10.4 Ex07b示例程序:CFileDialog141
7.10.3 嵌套对话框141
7.10.5 CFileDialog的其他可定制特性146
7.11.2 用户定义的消息147
7.11.1 创建无模式对话框147
7.11 无模式对话框的编程147
7.11.4 Ex07c示例程序:无模式对话框148
7.11.3 对话框的所有关系(Ownership)148
8.1 标准通用控件155
第8章 通用控件155
8.1.2 滑块控件(Slider Control)156
8.1.1 进度指示器控件(Progress Control)156
8.1.5 树状控件157
8.1.4 列表控件157
8.1.3 微调控件(Spin Control)157
8.2 Ex08a示例程序:标准通用控件158
8.1.6 WM_NOTIFY消息158
8.3.1 日期时间选择器171
8.3 高级通用控件171
8.3.2 月历控件172
8.3.4 扩展的组合框控件173
8.3.3 IP地址控件173
8.4 Ex08b示例程序:高级通用控件174
9.1 ActiveX控件和普通Windows控件187
第9章 使用ActiveX控件187
9.1.3 ActiveX控件与普通控件的不同点:属性和方法188
9.1.2 ActiveX控件与普通控件的相同点188
9.1.1 普通的Windows控件:一个参考框架188
9.2 安装ActiveX控件189
9.3 日历控件191
9.4.1 属性访问192
9.4 ActiveX控件容器编程192
9.4.2 Visual Studio.NET为ActiveX控件产生的C++包装类193
9.4.4 Add Class Wizard和容器对话框196
9.4.3 MFC Application Wizard对ActiveX控件的支持196
9.5 Ex09a示例程序:ActiveX控件对话框容器198
9.4.5 把ActiveX控件锁定在内存里198
9.7 在运行时创建ActiveX控件206
9.6 ActiveX控件在HTML文件中的使用206
9.8 Ex09b示例程序:Web浏览器ActiveX控件207
9.10 可绑定的属性:变化通知211
9.9 图形属性211
10.1 进程和内存空间213
第10章 Win32核心内存管理213
10.1.1 Windows 95/98进程地址空间214
10.1.2 Windows NT/2000/XP的进程地址空间215
10.2 虚拟内存如何工作216
10.3 VirtualAlloc函数——占用和保留内存218
10.4 Windows堆和GlobalAlloc函数族219
10.6 内存映射文件220
10.5 小内存堆,C++的new和delete操作符,_heapmin220
10.8 管理动态内存的一些提示222
10.7 访问资源222
10.9 常量数据的优化存储223
11.1.1 单线程程序处理消息的过程225
11.1 Windows消息处理225
第11章 Windows消息处理和多线程编程225
11.1.3 计时器226
11.1.2 交出控制226
11.1.4 Ex11a示例程序227
11.2 空状态处理230
11.3.1 编写辅助线程函数和启动线程231
11.3 多线程编程231
11.3.2 主线程如何与辅助线程通话232
11.3.3 辅助线程如何与主线程通话233
11.3.4 Ex11b示例程序234
11.3.5 用事件使线程同步235
11.3.6 Ex11c示例程序236
11.3.8 临界区238
11.3.7 线程阻塞238
11.3.10 用户界面线程(UI线程)240
11.3.9 互斥体(mutex)和信号(semaphore)240
12.1 主框架窗口和文档类243
第12章 菜单、键盘加速键、复文本编辑控件和属性表243
第Ⅲ部分 MFC的文档-视图结构243
12.2 Windows菜单244
12.3 键盘加速键245
12.4 命令处理246
12.4.2 更新命令用户界面消息控制函数247
12.4.1 派生类中的命令消息控制247
12.5 应用程序框架的内置菜单命令248
12.4.3 对话框发送的命令248
12.6.1 CEditView类249
12.6 MFC文本编辑选择249
12.5.1 菜单命令的启用/禁用249
12.7 Ex12a示例程序250
12.6.3 CRichEditCtrl类250
12.6.2 CRichEditView类250
12.8.1 创建属性表256
12.8.2 属性表数据交换256
12.8 属性表256
12.9 改进Ex12a示例程序257
12.10 CMenu类269
12.9.1 Apply按钮的处理过程269
12.11 创建浮动的快捷菜单270
12.12 扩展的命令处理271
13.1 控制栏和应用程序框架273
第13章 工具栏和状态栏273
13.2.2 工具栏按钮的状态274
13.2.1 工具栏位图274
13.2 工具栏274
13.2.3 工具栏和命令消息275
13.2.4 工具栏更新命令UI消息控制函数276
13.4 获得主框架窗口277
13.3 工具提示277
13.5 Ex13a示例程序:使用工具栏278
13.6.1 状态栏的定义282
13.6 状态栏282
13.6.3 状态指示器283
13.6.2 信息行283
13.6.4 对状态栏的控制284
13.7 Ex13b示例程序:使用状态栏285
13.8 Rebar289
13.9 Ex13c示例程序:使用rebar290
13.8.1 解剖一个reban290
14.1 为什么可重用基类难以设计294
第14章 可重用的框架窗口基类294
14.3 CFrameWnd::ActivateFrame成员函数295
14.2 CPersistentFrame类295
14.4 PreCreateWindow成员函数296
14.5 Windows注册表297
14.6 使用CString类299
14.7 最大化窗口的位置300
14.10 默认窗口矩形301
14.9 静态数据成员301
14.8 控制栏状态和注册表301
14.11 Ex14a示例程序:使用持续框架窗口类302
14.12 MDI应用程序中的持续框架307
15.1 文档-视图之间的相互作用函数308
第15章 文档与视图的分离308
15.1.2 CDocument::UpdateAllViews函数309
15.1.1 CView::GetDocument函数309
15.1.4 CView::OnlnitialUpdate函数310
15.1.3 CView::OnUpdate函数310
15.2 最简单的文档-视图应用程序311
15.1.5 CDocument::OnNewDocument函数311
15.3 CForm View类312
15.5.1 TRACE宏313
15.5 诊断信息转储313
15.4 CObject类313
15.5.3 信息转储环境及CObject类314
15.5.2 afxDump对象314
15.5.4 未被删除对象的自动信息转储315
15.6 Ex15a示例程序:简单的文档-视图交互318
15.7 更加高级的文档-视图交互324
15.9 CObList集合类325
15.8 CDocument::DeleteContents函数325
15.9.1 对先入先出列表使用CObList类326
15.9.2 在CObList中进行迭代——POSITION变量327
15.9.3 CTypedPtrList模板集合类328
15.9.4 信息转储环境及集合类329
15.10 Ex15b示例程序:一个多视图SDI应用程序330
15.10.1 资源要求331
15.10.2 代码要求332
15.10.4 测试Ex15b应用程序346
15.10.3 保护类型的虚函数346
15.11 留给读者的两个练习347
16.1 什么是序列化348
第16章 读和写文档348
16.1.2 使类可序列化349
16.1.1 磁盘文件和归档(Archives)349
16.1.3 编写Serialize函数350
16.1.4 从归档中载入:内嵌对象和指针351
16.1.6 Serialize函数和应用程序框架353
16.1.5 使集合序列化353
16.2.1 Windows应用程序对象354
16.2 SDI应用程序354
16.2.2 文档模板类355
16.2.3 文档模板资源356
16.2.5 创建空文档:CWinApp::OnFileNew函数357
16.2.4 SDI文档的多视图357
16.2.7 连接File/Open与序列化代码:OnFileOpen函数358
16.2.6 文档类的OnNewDocument函数358
16.2.9 将File/Save和File/Save As与序列化代码相连接359
16.2.8 文档类的DeleteContents函数359
16.3 Ex16a示例程序:支持序列化的SDI程序360
16.2.10 文档的“脏”标志360
16.3.2 CEx16aApp361
16.3.1 CStudent361
16.3.3 CMainFrame365
16.3.4 CEx16aDoc类368
16.4 从Windows资源管理器启动及拖放370
16.3.6 测试Ex16a应用程序370
16.3.5 CEx16aView类370
16.4.2 双击文档371
16.4.1 程序注册371
16.5 MDI支持372
16.4.5 试验用Windows资源管理器启动程序及拖放372
16.4.3 允许拖放372
16.4.4 程序启动参数372
16.5.1 一个典型的具有MFC风格的MDI应用程序373
16.5.3 MDI文档模板类374
16.5.2 MDI应用程序对象374
16.5.4 MDI框架窗口和MDI窗口375
16.5.5 主框架和文档模板资源376
16.5.7 为已有的文档创建附加视图377
16.5.6 创建空文档377
16.5.9 多文档模板378
16.5.8 载入和存储文档378
16.6 Ex16b示例程序:MDI应用程序379
16.5.10 从Windows资源管理器启动及拖放379
16.6.1 CEx16bApp380
16.6.2 CMainFrame384
16.6.3 CChildFrame387
16.8 Ex16c示例程序:MTI应用程序389
16.7 MTI支持389
16.6.4 测试Ex16b应用程序389
16.8.1 测试Ex16c应用程序391
17.1.1 标准打印对话框392
17.1 基于Windows的打印392
第17章 打印和打印预览392
17.1.2 交互选择打印页码393
17.2 打印预览394
17.1.3 显示页和打印页394
17.3.3 准备设备环境:CView::OnPrepareDC函数395
17.3.2 CView::OnPrint函数395
17.3 打印机的程序设计395
17.3.1 打印机设备环境和CView::OnDraw函数395
17.3.4 打印任务的开始和结束396
17.4 Ex17a示例程序:一个所见即所得的打印程序397
17.4.1 读取打印机矩形框402
17.5 再看模板集合类:CArray类403
17.6 Ex17b示例程序:多页打印程序404
18.1 切分窗口410
第18章 切分窗口和多视图410
18.3 动态和静态切分窗口411
18.2 关于视图的选择411
18.4.1 与切分有关的资源412
18.4 Ex18a示例程序:具有单个视图类的SDI动态切分412
18.4.3 测试Ex18a应用程序413
18.4.2 CMainFrame413
18.5.1 CHexView414
18.5 Ex18b示例程序:双视图类SDI静态切分414
18.5.2 CMainFrame415
18.6 Ex18c示例程序:切换视图类但不用切分窗口416
18.5.3 测试Ex18b应用程序416
18.6.2 CMainFrame417
18.6.1 资源要求417
18.6.3 测试Ex18c应用程序418
18.7.1 资源要求419
18.7 Ex18d示例程序:多视图类MDI应用程序419
18.7.3 CMainFrame420
18.7.2 CEx18dApp420
18.7.4 测试Ex18d应用程序421
19.1 WinHelp和HTML Help423
第19章 上下文相关帮助423
19.2.1 编写简单的帮助文件425
19.2.1 复文本格式(RTF)425
19.2 Windows的WinHelp程序425
19.3 应用程序框架与WinHelp430
19.2.3 改进的目录430
19.3.1 调用WinHelp431
19.3.4 帮助上下文别名432
19.3.3 从应用程序的菜单来调用WinHelp432
19.3.2 使用搜索字符串432
19.3.5 确定帮助上下文433
19.3.8 消息框帮助:AfxMessageBox函数434
19.3.7 Shift+F1 帮助434
19.3.6 F1帮助434
19.4 帮助示例:不需要任何编程435
19.3.9 一般的帮助435
19.5.1 F1处理过程437
19.5 帮助命令处理437
19.6 Ex19b示例程序:帮助命令处理438
19.5.2 Shift+F1 处理过程438
19.6.2 CStringView439
19.6.1 头文件要求439
19.6.5 帮助文件要求440
19.6.4 资源要求440
19.6.3 CHexView440
19.7 MFC和HTML Help441
19.6.6 测试Ex19b应用程序441
19.8 Ex19c示例程序:HTML Help442
20.1 基本DLL理论444
第20章 动态链接库444
20.1.1 导入如何与导出相匹配445
20.1.3 符号链接和序号链接446
20.1.2 隐式链接和显式链接446
20.1.4 DLL入口点:DllMain447
20.1.6 客户程序如何找到DLL448
20.1.5 实例句柄:装载资源448
20.2 MFC DLL:扩展的和常规的449
20.1.7 调试DLL449
20.2.2 MFC扩展DLL的资源搜索序列450
20.2.1 MFC扩展DLL:导出类450
20.2.3 Ex2Oa示例程序:MFC扩展DLL451
20.2.4 Ex2Ob示例程序:DLL测试客户程序453
20.2.7 MFC常规DLL的资源搜索序列454
20.2.6 使用AFX_MANAGE_STATE宏454
20.2.5 MFC常规DLL:AFX_EXTENSION_MODULE结构454
20.2.8 Ex20c示例程序:MFC常规DLL455
20.2.9 修改Ex2Ob示例程序:加入代码以测试Ex20c.dll457
20.3.1 什么是自定义控件458
20.3 自定义控件DLL458
20.3.3 MFC库和WndProc函数459
20.3.2 自定义控件的窗口类459
20.3.5 发送给控件的用户定义消息460
20.3.4 自定义控件的通知消息460
20.3.6 Ex2Od示例程序:自定义控件461
20.3.7 再修改Ex2Ob示例程序:加入代码以测试Ex2Od.dll466
21.1 Ex21a示例程序:一个基于对话框的应用程序469
第21章 不带文档或视图类的MFC程序469
21.1.1 应用程序类的lnitlnstance函数471
21.1.2 对话框类和程序图标472
21.2 Ex21b示例程序:一个SDI应用程序473
21.3 Ex21c示例程序:一个MDI应用程序475
22.1 ActiveX技术479
第22章 组件对象模型479
第Ⅳ部分 C0M、自动化、ActiveX和OLE479
22.2.1 COM的本质480
22.2 什么是COM480
22.2.2 什么是COM接口481
22.2.3 IUnknown接口和QueryInterface成员函数485
22.2.4 引用计数:AddRef和Release函数488
22.2.5 类厂(class factory)489
22.3 Ex22a示例程序:一个模拟的COM491
22.2.6 CCmdTarget类491
22.4.1 COM的CoGetClassObject函数499
22.4 MFC库中实际的COM499
22.4.2 COM和Windows注册表500
22.4.3 运行时对象注册501
22.4.4 COM客户程序如何调用进程内组件502
22.4.5 COM客户程序如何调用进程外组件503
22.4.6 MFC接口宏505
22.4.8 针对COM进程内组件的向导支持507
22.4.7 MFC的COleObjectFactory类507
22.5 Ex22b示例程序:MFC COM进程内组件509
22.4.9 MFC COM客户程序509
22.6 Ex22c示例程序:MFC COM客户514
22.7 包容、聚合和继承515
23.1 为VBA创建C++组件517
第23章 自动化517
23.2.1 Excel:一个比Visual Basic还好的Visual Basic518
23.2 自动化客户和自动化组件518
23.2.2 属性(property)、方法(method)和集合(collection)520
23.3.1 IDispatch接口521
23.3 自动化接口521
23.4 自动化程序设计的选择522
23.4.1 MFC中的IDispatch实现523
23.5 一个MFC自动化组件524
23.6 一个MFC自动化客户程序525
23.7 使用了编译器的#import指令的自动客户程序527
23.8 VARIANT类型528
23.9 COleVariant类530
23.9.1 Invoke的参数和返回值的类型转换532
23.10.1 Ex23a示例程序:一个不带任何用户界面的自动化组件EXE534
23.10 自动化示例534
23.10.2 Ex23b示例程序:自动化组件DLL542
23.10.3 Ex23c示例程序:一个带用户界面的SDI自动化组件EXE551
23.10.4 Ex23d示例程序:自动化客户558
23.10.5 Ex23e示例程序:自动化客户573
23.11.1 注册类型库577
23.11 VBA早绑定577
23.11.3 IDL文件578
23.11.2 组件如何注册自己的类型库578
23.11.4 Excel如何使用类型库579
23.11.6 客户-组件之间的快速连接580
23.11.5 为什么使用早绑定580
24.1.1 IDataObject如何增强了标准剪贴板的支持582
24.1 IDataObiect接口582
第24章 统一数据传输:剪贴板传输以及OLE拖放582
24.2.1 FORMATETC583
24.2 FORMATETC和STGMEDIUM结构583
24.2.2 STGMEDIUM584
24.2.3 IDataObject接口成员函数585
24.3.1 COleDataSource类586
24.3 MFC对UDT的支持586
24.2.4 IDataObject的其他成员函数:通报连接(advisory connection)586
24.3.2 COleDataObject类587
24.3.3 MFC数据对象剪贴板传输588
24.4.1 CRectTracker类成员函数590
24.4 MFC CRectTracker类590
24.4.2 CRectTracker的矩形坐标转换591
24.5.1 CMainFrame类592
24.5 Ex24a示例程序:数据对象剪贴板592
24.5.3 CEx24aView类593
24.5.2 CEx24aDoc类593
24.6.1 传输的源方600
24.6 MFC的拖放600
24.6.3 拖放的动作序列601
24.6.2 传输的目标方601
24.7.2 CEx24bView类602
24.7.1 CEx24bDoc类602
24.7 Ex24b示例程序:OLE拖放602
25.1 再谈COM606
第25章 活动模板库介绍606
25.1.1 核心接口:IVnkown607
25.2 编写COM代码609
25.2.1 使用多继承实现COM类610
25.3 COM基础设施611
25.3.2 ActiveX、MFC和COM612
25.3.1 ActiveX、OLE和COM612
25.4.2 AtlCom.h613
25.4.1 AtlBase.h613
25.4 ATL简介613
25.4.8 StatReg.cpp和StatReg.h614
25.4.7 AtlWin.cpp和AtlWin.h614
25.4.3 AtlConv.cpp和AtlConv.h614
25.4.4 AtlCtl.cpp和AtlCtl.h614
25.4.5 AtllFace.idl和AtllFace.h614
25.4.6 Atllmpl.cpp614
25.5.1 C++模扳615
25.5 客户端ATL程序设计615
25.5.2 Smart指针616
25.5.3 让C++指针具有智能618
25.5.4 使用Smart指针619
25.5.5 Smart指钊和COM620
25.5.7 CComPtrBase类621
25.5.6 ATL的Smart指针621
25.5.8 CComPtr类625
25.5.9 CComQIPtr类627
25.5.10 ATL Smart指针的问题629
25.6 服务器端ATL程序设针630
25.6.1 ATL和COM类631
25.6.2 ATL Project选项632
25.6.3 创建一个经典的ATL COM类633
25.6.4 套间和线程634
25.6.5 连接点和ISupportErrorlnfo636
25.6.7 用经典的ATL来实现飞船类637
25.6.6 自由线程列集器637
25.6.8 基本的ATL体系结构638
25.6.10 ATL的IUnknown:CComObjectRootEx640
25.6.9 管理Vtable膨胀640
25.6.11 ATL和QueryInterface643
25.6.12 让飞船动起来646
25.6.13 在接口中增加方法648
25.6.14 双接口649
25.6.15 ATL和IDispatch650
25.6.16 IMotion和IVisual接口651
25.6.17 多个双接口653
25.7 属性化程序设计654
26.1 什么是ActiveX控件657
第26章 ATL和ActiveX控件657
26.2 用ATL编写ActiveX控件658
26.2.1 创建一个控件659
26.2.2 ATL的控件结构663
26.2.3 开发一个控件668
26.3 创建一个属性化的控件698
26.3.1 属性化ATL中的控件事件701
27.1 为什么使用OLE DB702
第27章 OLE DB模板702
27.2 OLE DB的基本结构703
27.3 OLE DB模板的基本结构704
27.3.1 OLE DB使用者模板的结构705
27.3.2 OLE DB提供者模板的结构707
27.4 创建一个OLE DB使用者712
27.3.3 提供者各部分是怎样协同工作的712
27.4.1 OLE DB使用者代码的用法716
27.5 创建一个OLE DB提供者717
27.5.1 修改提供者代码724
27.5.2 增强OLE DB提供者726
27.6 属性化的OLE DB程序设计727
第28章 Internet基础733
第Ⅴ部分 Internet程序设计733
28.1.2 IP734
28.1.1 网络协议和分层734
28.1 Internet入门734
28.1.3 UDP735
28.1.4 IP地址格式:网络字节顺序736
28.1.5 TCP737
28.1.6 DNS738
28.1.7 HTTP740
28.1.9 Internet和Intranet742
28.1.8 FTP742
28.2.2 网络硬件743
28.2.1 NTFS和FAT文件系统743
28.2 建立一个Intranet743
28.2.4 Intranet主机名和HOSTS文件744
28.2.3 对Windows进行网络配置744
28.3.1 同步和异步Winsock程序设计745
28.3 Winsock程序设计745
28.2.5 测试Intranet:Ping程序745
28.2.6 只有一台计算机的Intranet:TCP/IP环回地址745
28.3.3 阻塞风格的套接字类746
28.3.2 MFC Winsock类746
28.3.4 一个简化的HTTP服务器程序754
28.3.5 一个简化的HTTP客户程序756
28.4.2 Ex28a服务器结构758
28.4.1 Ex28a服务器的限制758
28.4 用CHttpBlockingSocket建立一个Web服务器758
28.4.3 使用Win32 TransmitFile函数759
28.4.4 编译和测试Ex28a760
28.5.2 Ex28a对代理服务器的支持761
28.5.1 Ex28a Winsock客户761
28.5 用CHttpBlockingSocket建立一个Web客户761
28.6.1 WinInet相对于Winsock的优势762
28.6 WinInet762
28.5.3 测试Ex28a Winsock客户762
28.6.2 MFC WinInet类763
28.6.3 Internet会话状态回调764
28.6.4 一个简化的WinInet客户程序766
28.7.3 Ex28a WinInet Client#2:使用OpenURL767
28.7.2 测试Winlnet Client#1767
28.7 用MFC WinInet类建立一个web客户767
28.7.1 Ex28a WinInet Client#1:使用CHttpConnection767
28.7.4 测试WinInet Client#2768
28.8 异步Moniker文件769
28.8.1 Moniker769
28.8.2 MFC CAsyncMonikerFile类769
28.8.3 在程序中使用CAsyncMonikerFile类770
28.8.4 异步moniker文件和WinInet编程771
第29章 动态HTML简介772
29.1 DHTML对象模型773
29.2 Visual C++.NET和DHTML776
29.3 Ex29a示例程序:MFC和DHTML777
29.4 Ex29b示例程序:DHTML和MFC778
29.5 Ex29c示例程序:ATL和DHTML782
29.6 进一步的信息784
第30章 ATL Server785
30.1 IIS785
30.1.1 Internet服务管理器786
30.1.2 IIS的安全性786
30.1.3 IIS目录788
30.1.4 IIS日志记录789
30.1.5 测试IIS789
30.2.1 CGI和ISAPI790
30.2.2 一个简单的ISAPI服务器扩展GET请求790
30.2 ISAPI服务器扩展790
30.2.3 HTML表单:GET和POST791
30.3 ATL Server简介793
30.3.1 ATL和ATL Server793
30.3.2 什么情况下适用ATL Server794
30.3.3 ATL Server的结构794
30.4 Ex30a示例程序:一个ATL Server Web站点800
31.1 Windows组件技术805
第31章 Microsoft.NET805
31.1.1 组件技术的一段历史805
第Ⅵ部分 .NET和远景805
31.1.2 DLL存在的问题806
3l.1.3 COM技术807
31.1.4 COM的优点807
31.1.5 COM的缺点808
31.2 公共语言运行时库809
31.2.1 消除组件的边界809
31.2.2 一切都是类型811
31.2.3 公共语言运行时库的类型812
31.2.4 公共语言规范(CLS)815
31.2.5 程序集(Assembly)816
31.2.6 .NET版本管理818
31.2.7 生存在公共语言运行时库中819
31.2.8 线程和公共语言运行时库821
31.2.9 AppDomain822
31.2.10 互操作性822
第32章 托管C++824
32.1 公共语言运行时库与C++开发人员824
32.2 为什么使用C++825
32.3 托管的C++扩展826
32.4 Visual C++.NET和托管扩展828
32.5 Ex32a示例程序:一个托管C++DLL程序集828
32.5.1 DaysOfTheWeek833
32.5.4 DotCOMVP、SoftwareDeveloper和Bum834
32.5.3 IAManagedInterface和IPerson834
32.5.5 AManagedDelegate834
32.5.2 AManagedValueStruct和AManagedGcStruct834
32.5.6 AManagedClass835
32.6 程序集的用法835
32.7 Ex32b示例程序:一个托管的客户可执行程序836
32.8 加入托管扩展支持839
33.1 Windows Forms841
33.1.1 Windows Forms的本质841
第33章 用托管C++进行Windows Forms编程841
33.1.2 Windows Forms结构842
33.1.3 一个Windows Forms向导843
33.1.4 Form类846
33.1.5 处理事件847
33.1.6 在窗体中绘制847
33.2 Windows Forms的不足866
第34章 用托管C++进行ASP.NET编程867
34.1 Internet作为开发平台867
34.2 ASP.NET的演变868
34.4 ASP.NET的编译模型870
34.5 Page类870
34.3 IIS的作用870
34.5.1 Code-Behind技术872
34.5.2 Web Forms875
34.5.3 ActiveX怎么了879
34.6.1 HtppContext对象881
34.6.2 HttpApplication对象881
34.6 HTTP传递路径881
34.6.3 HttpModule对象882
34.6.4 HTTPHandler对象884
34.7 Web服务887
34.7.1 使用托管C++的Web服务888
34.7.2 WSDL和ASP.NET890
34.7.3 调用Web方法890
第35章 用托管C++进行ADO.NET编程892
35.1 托管的提供者892
35.1.1 NET托管提供者893
35.2 使用托管提供者894
35.2.1 连接到数据库894
35.2.2 发出命令896
35.2.3 通过命令对象使用存储过程897
35.2.4 使用数据阅读器对象获取数据898
35.2.5 错误处理899
35.3 ADO.NET数据集900
35.3.1 使用数据适配器填充数据集901
35.3.2 创建内存中的数据集902
35.3.3 从数据集中导出XML904
附录A MFC库中的消息映射函数906
附录8 MFC库运行时类识别和动态对象创建915
热门推荐
- 430988.html
- 2608287.html
- 2196912.html
- 3428875.html
- 2028126.html
- 1331584.html
- 176818.html
- 652257.html
- 616593.html
- 2348128.html
- http://www.ickdjs.cc/book_3038087.html
- http://www.ickdjs.cc/book_2299504.html
- http://www.ickdjs.cc/book_1093989.html
- http://www.ickdjs.cc/book_1808251.html
- http://www.ickdjs.cc/book_102514.html
- http://www.ickdjs.cc/book_2344345.html
- http://www.ickdjs.cc/book_81955.html
- http://www.ickdjs.cc/book_1720779.html
- http://www.ickdjs.cc/book_482988.html
- http://www.ickdjs.cc/book_1895803.html