图书介绍
Visual C++.NET宝典PDF|Epub|txt|kindle电子书版本网盘下载
![Visual C++.NET宝典](https://www.shukui.net/cover/63/32332181.jpg)
- (美)Tom Archer,(美)Andrew Whitechapel著;马云等译 著
- 出版社: 北京:电子工业出版社
- ISBN:7505384724
- 出版时间:2003
- 标注页数:1012页
- 文件大小:142MB
- 文件页数:1038页
- 主题词:C语言-程序设计
PDF下载
下载说明
Visual C++.NET宝典PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
8.3.4调整文本 211
目 录1
22.2.7遍历记录集 611
15.4理解CPrintDialog类 431
13.2.3使用ClistCtrlWithCustomDraw类 381
19.4.5对CustomDataTransfer示例程序进行测试 531
20.4.4添加初始化程序和数据库代码 551
前言1
22.3.1初始化连接 613
第1部分用户接口5
1.1初步了解新的Visual Studio环境7
第1章编写第一个MFC应用程序7
1.2创建第一个Visual Studio项目10
11.1.2交换数据和状态 311
1.2.1研究不同的视图12
4.3.3更改现有弹出菜单 112
4.3.2在运行时更改菜单 112
1.2.2添加按钮事件处理程序14
1.2.3使用Dialog Editor和Toolbox16
1.2.4使用动态数据交换18
1.3更正建立错误19
1.4在Visual Studio 中进行调试20
1.4.2步进查看MFC源代码21
1.4.1设置断点21
1.5使用MFC消息处理程序25
1.6处理子事件28
1.7重载基类函数29
1.8小结30
第2章 文档、视图和SDI31
2.1文档/视图设计31
2.2 CDocument类33
2.2.1声明一个文档类33
5.3.2 Windows逻辑键盘 135
2.2.2 CDocument的成员函数35
2.2.4取代虚文档函数36
2.2.3文档和消息处理36
2.2.5使用复杂文档数据37
2.2.6 CCmdTarget和CDocItem40
2.3 InitInstance函数41
2.3.1管理文档和视图42
2.3.3文档模板资源43
2.3.2框架窗口简介43
2.3.4字符串资源和文档模板44
2.3.5常备视图资源46
2.3.6文档模板的生命周期46
2.3.7模板的高级用法47
2.3.9未正式公开的CDocManager类47
2.3.8使用多个模板47
2.4.1声明一个视图类49
2.4 CView类49
2.3.10销毁用AddDocTemplate成员函数添加的文档49
2.4.2分析Cview成员函数50
2.4.4 CView类和MFC的派生变形52
2.4.3使用视图和消息52
2.4.6返回框架窗口53
2.4.7框架窗口 OnCreate函数53
2.4.5 CForm视图与基于对话的应用程序的对比53
2.5.1去掉文档名55
2.5控制标题栏文本55
2.5.2格式化标题栏文本56
2.6.1打开和读取文件57
2.6 HexViewer SDI应用程序57
2.6.2视图编码61
2.7小结65
3.1比较MDI和SDI的结构67
第3章MDI应用程序67
3.2.1使用多文档类型68
3.2文档、视图和框架窗口的组合68
3.2.2使用文档的多个视图69
3.2.3了解CMDIFrameWnd类70
3.2.4了解CMDIChildWnd类71
3.2.5了解CMultiDocTemplate类72
3.2.6使用CDocument类的开销73
3.2.7MDI应用程序73
3.3 PaintObj程序74
3.4介绍拆分窗口81
3.4.1 区分拆分窗口82
3.4.2特定于CSplitterWnd类的内容82
3.4.3详细讲解动态拆分83
3.4.4在动态窗格中使用不同的视图85
3.4.5使用CruntimeClass对象85
3.4.6对与多个文档关联的视图使用拆分器86
3.4.7使用静态拆分器87
3.4.8创建静态拆分器87
3.4.9了解共享滚动条88
3.4.1 0确定实际的和理想的尺寸89
3.5 Dynsplit程序89
3.4.11 拆分器的性能考虑89
3.6小结93
4.1创建和编辑菜单95
第4章菜单95
4.1.1定义菜单97
4.1.2编写菜单事件处理程序100
4.1.3编写一些简单的菜单代码103
4.1.4组合菜单处理程序104
4.2加速键105
4.2.1检查键盘输入105
4.2.3创建一个加速键表资源106
4.2.2定义加速键106
4.2.5选择适当的加速键107
4.2.4创建加速键菜单提示107
4.2.6原始Windows API加速键支持109
4.2.7 C将新加速键表连接到窗口类110
4.3.1菜单命令范围111
4.3动态更改菜单111
4.3.4永久和临时句柄映射114
4.4上下文菜单116
4.5小结117
5.1关于事件119
第5章鼠标和键盘处理119
5.2鼠标输入120
5.2.1创建鼠标消息处理程序120
5.2.2在屏幕坐标和窗口坐标之间转换120
5.2.3创建处理鼠标事件的MFC程序122
5.2.4非客户鼠标事件128
5.2.5更改鼠标光标128
5.2.6创建更改鼠标指针的MFC演示程序130
5.2.7捕获鼠标132
5.2.8限制鼠标移动133
5.3.1物理键盘134
5.3键盘输入134
5.3.3可打印字符消息136
5.3.4回显键盘焦点137
5.4小结142
6.1.1默认状态栏行为143
第6章 状态栏和工具栏143
6.1创建和控制状态栏143
6.1.2对齐状态栏145
6.1.3给状态栏添加文本窗格146
6.1.4在对话框上放置状态栏147
6.1.5状态栏演示程序151
6.1.6给状态栏添加进度条153
6.2创建和控制工具栏162
6.2.2创建和初始化一个工具栏162
6.2.1 MFC控件栏162
6.2.3停靠和浮动164
6.2.5添加工具提示和浮动文本164
6.2.4显示和隐藏工具栏164
6.2.6添加非按钮控件165
6.2.8使用ReBar控件166
6.2.7更新非按钮控件166
6.2.9添加ReBar支持167
6.3小结168
第7章树视图和列表视图控件169
7.1.1树视图控件基础知识170
7.1树视图控件170
7.1.2 CTreeCtrl类171
7.1.4处理CTreeCtrl消息172
7.1.3创建CTreeCtrl对象172
7.1.5在CTreeCtrl中插入项177
7.1.6编辑标签178
7.1.7在编辑CTreeCtrl项的同时处理Esc和Enter键181
7.1.8上下文菜单182
7.1.9展开和折叠树控件分支184
7.1.10 CTreeCtrl演示程序185
7.2.1 CListCtrl类192
7.2列表视图控件192
7.2.2创建和关联CImageList对象193
7.2.3设置和更改视图风格194
7.2.4给CListCtrl中添加列194
7.2.5调整列表视图的列的大小196
7.2.6插入列表视图项198
7.3小结198
第8章图形设备界面编程199
8.1介绍图形设备界面199
8.1.1图形类型200
8.1.3 GDI设备类型201
8.1.2 GDI设备201
8.2设备上下文202
8.2.1 DC绘图属性203
8.2.2 WM_PAINT消息205
8.2.3绘制坐标205
8.2.4触发WM_PAINT206
8.2.5 响应WM_PAINT以外的消息进行绘图207
8.3操纵文本208
8.3.1 GDI颜色支持208
8.3.2文本颜色209
8.3.3 对齐文本210
8.4.1将对象选入DC212
8.4.2选择常备字体212
8.4关于字体212
8.4.3选择非常备字体213
8.5使用画笔和画刷216
8.5.1 画笔216
8.5.2 画刷219
8.6映射模式221
8.7光栅操作222
8.7.1文本绘图函数222
8.7.2文本坐标的计算224
8.8剪取区域228
8.9 小结228
9.1位图和视频内存229
第9章位图、调色板和DIB229
9.2创建CBitmap对象230
9.3加载和设置位图内容232
9.4把CBitmaps绘制到屏幕上233
9.4.1绘制位图234
9.4.2创建和显示位图235
9.5光栅操作237
9.6 BlitDemo程序240
9.7调色板和颜色245
9.7.1其他颜色空间246
9.7.2逻辑调色板248
9.7.3调色板事件250
9.7.4 SetSystemPaletteUse函数251
9.8设备无关位图251
9.8.1剖析DIB文件251
9.8.2 CDib类253
9.8.3 ShowDIB演示程序259
9.9双缓冲261
9.10小结263
第2部分对话框265
第1 0章 对话框基础知识和常用控件267
10.1从对话框和控件开始267
10.1.1定义CDialog派生类267
10.1.2 CDialog的主要成员268
10.1.3显示、控制模态对话框269
10.1.4命令处理路由和默认处理270
10.1.5控件也是窗口273
1 0.1.6把MFC类与控件关联起来274
10.2.1按钮282
10.2使用CButton类282
10.2.2单选钮283
10.2.3复选框控件288
10.2.4位图按钮288
10.2.5使用BS_BITMAP风格290
10.3使用CEdit类293
10.3.1使用DDX传送数据293
10.3.2使用编辑控件295
10.3.3修改示例程序298
10.4使用CListBox类300
10.4.2选择项和查找项301
10.4.1添加和删除选项301
10.4.3使用选项数据302
10.5使用CComboBox304
10.6修改控件运行时的属性305
10.6.1改变控件的颜色305
10.6.2设置控件字体307
10.6.3循环遍历对话框中的控件308
10.7小结308
11.1无模态对话框309
第1 1章对话框和窗体视图309
11.1.1创建和显示无模态对话框310
11.1.3无模态对话框示例程序315
11.2 CommandUI和KickIdle320
11.3键盘加速键323
11.4截获键盘输入325
11.5串行化基于对话框的应用程序326
11.5.1让每个类可串行化326
11.5.2实现Serialize虚函数327
1 1.5.3从磁盘读取数据327
11.5.4将数据保存到磁盘327
11.5.5基于对话框的串行化示例程序328
11.6为SDI和MDI应用程序创建窗体视图331
11.6.1创建SDI窗体视图应用程序332
1 1.6.2在文档的多个视图之间进行切换333
11.7 MFC控件视图337
11.7.1常见的误解338
11.7.2工作原理338
11.7.3创建CListBoxView类339
11.7.4使用CListBoxView类340
11.8小结341
第12章属性单和属性页343
1 2.1 CPropertySheet和CPropertyPage343
12.1.2创建CPropertyPage类344
12.1.1创建属性页资源344
12.1.4显示无模态CPropertySheet345
12.1.3显示模态CPropertySheet345
12.1.5在对话框内显示属性单347
12.2模态属性单演示程序349
12.3高级技巧和提示352
12.3.1除去标准按钮353
12.3.2重定位标准按钮354
1 2.3.4禁用选项卡356
12.3.3更改标准按钮的标题356
12.3.5重新启用属性页359
12.3.6动态设置CPropertyPage选项卡标题361
12.3.8利用CPropertyPage选项卡的助记符363
12.3.7更改选项卡的字体363
12.4小结365
第3部分高级编程367
13.1 自己绘制与自定义绘制369
第1 3章 自定义绘制控件369
13.1.1处理NM_CUSTOMDRAW通知370
13.1.2为什么自定义绘制371
13.2.1创建类372
13.2创建自定义绘制控件372
13.2.2 ClistCtrlWithCustomDraw类373
13.3小结383
第14章 为控件添加自定义行为385
14.1添加行为385
14.1.1修改基类386
14.1.2多重继承387
14.1.4模板类390
14.1.3消息映射390
14.1.5两者兼顾的方法391
14.1.6消息映射的问题393
14.1.7错误395
14.2.1问题398
14.2调整对话框和属性页398
14.2.2模板友好的消息映射398
1 4.2.3多重继承400
14.2.4模板类402
14.2.6调整对话框中控件的尺寸405
14.2.5全部集中到一起405
14.2.7使用TXResizable412
14.3小结412
第15章打印和打印预览413
15.1使用Win32 SDK实现打印413
15.1.1简单的打印示例程序414
15.1.2退出打印作业416
15.2用MFC进行打印422
15.2.1理解打印过程中开发人员和框架的作用422
15.2.2理解MFC打印序列423
15.2.3 WYSIWYG打印示例程序424
15.3打印预览的体系结构429
15.3.1 打印预览过程429
15.3.2修改打印预览429
15.3.3增强应用程序的打印预览430
15.5小结432
第1 6章使用DLL433
16.1 DLL概述433
16.1.2加载DLL434
16.1.1动态库和静态库434
16.2 Visual C++常规DLL435
16.2.2了解常规DLL内部436
16.2.1创建常规DLL436
16.2.3实现自己的DIIMain函数437
16.2.4动态加载DLL437
16.2.5编写Windows异常分支444
16.2.6使用DLL的全局C++对象451
16.3.1理解MFC扩展DLL内核458
16.3.2通过MFC扩展DLL导出类458
16.3 MFC扩展DLL458
16.3.3关于AFX_EXT_CLASS的更多内容460
1 6.3.4使用嵌套的MFC扩展DLL460
16.3.5导出资源461
16.3.6编写在DLL中封装文档和视图的演示程序461
16.4小结465
第17章 多线程编程467
17.1.1创建工作者线程468
17.1使用线程468
17.1.2线程函数编程471
17.1.3创建UI线程472
17.1.5使线程睡眠474
17.1.4挂起和继续执行线程474
17.1.6从一个线程终止另一个线程475
17.1.7线程、进程和优先级478
17.1.8进程优先级类479
17.2在线程之间共享MFC对象480
17.3在多线程应用程序中使用C运行时函数482
17.4多线程演示程序482
17.5小结486
第1 8章MFC异常处理487
1 8.1结构化异常处理487
18.2异常处理语法488
18.2.1抛出异常488
1 8.2.2捕获异常488
1 8.3错误处理技巧比较489
1 8.3.1处理错误码490
1 8.3.2在正确上下文中处理错误490
1 8.3.3提高代码可读性491
1 8.4.1创建和删除CException对象493
18.3.4从构造函数中抛出异常493
1 8.4 CException类493
1 8.4.2从CException对象中检索错误信息494
1 8.4.3捕获多种异常类型495
18.5定义CException派生类496
1 8.5.1研究CFileException类497
1 8.5.2 CFileException演示程序498
18.5.3定义自己的CException派生类501
18.6.1确定应该捕获异常的函数504
18.6高级异常处理技术504
18.6.2确定放置在try块中的代码505
18.6.3确定放置在catch块中的代码506
18.6.4从虚函数中抛出异常507
18.7小结510
第4部分数据I/O511
第1 9章 剪贴板513
19.1 使用Windows剪贴板API513
19.1.1为数据分配内存空间514
19.1.4打开剪贴板515
19.1.3解除对全局内存的锁定515
19.1.5清空剪贴板515
19.1.2把数据复制到全局内存中515
19.1.6设置剪贴板数据516
19.2传递纯文本的示例程序517
19.1.7关闭剪贴板517
19.2.1创建SimpleTextTransfer示例项目文件518
19.2.2把文本复制到剪贴板上518
1 9.2.3把文本剪切到剪贴板上519
19.2.4粘贴剪贴板上的文本520
19.2.5 对SimpleTextTransfer示例程序进行测试520
19.3.2粘贴剪贴板中的位图图像522
19.3转移位图图像的示例程序522
19.3.1创建BitmapTransfer示例项目文件522
19.3.3对Paste Bitmap按钮的功能进行测试524
19.3.4把位图图像复制到剪贴板上524
19.3.5测试把位图复制到剪贴板上的程序功能527
19.4转移自定义数据的示例程序527
19.4.1创建CustomDataTransfer示例项目文件528
19.4.3把自定义数据复制到剪贴板上528
19.4.2把自定义数据格式复制到剪贴板上528
1 9.4.4从剪贴板上粘贴自定义数据530
19.5接收剪贴板上内容已被更改的通知消息532
19.6小结536
第20章使用ODBC537
20.1 ODBC定义和数据库术语537
20.2 ODBC的标准539
20.2.1理解ODBC的工作方式540
20.3实现ODBC541
20.2.3 ODBC SQL一致性层541
20.2.2 ODBC API一致性层541
20.3.1配置ODBC542
20.3.2连接数据源543
20.3.3查询数据和数据源545
20.3.4准备和执行SQL请求546
20.3.5检索数据546
20.3.6断开与数据源的连接547
20.4使用ODBC获取数据548
20.4.1创建ODBC DSN549
20.4.3修改ODBCDemo对话框550
20.4.2为Visual C++项目添加对ODBC的支持550
20.5.1 CODBCDynamic类声明556
20.5使用ODBC动态查询数据源556
20.5.2了解CODBCDynamic类的工作方式558
20.5.3使用CODBCDynamic类563
20.6小结564
第21章MFC数据库类565
21.1 CDatabase对象565
21.1.1使用CDatabase::Open函数567
2 1.1.3事务和CDatabase对象568
2 1.1.2使用CDatabase::OpenEx函数568
21.2 CRecordset对象569
21.2.1构造一个记录集574
21.2.2打开一个记录集574
2 1.2.3使用RFX读写数据575
21.2.4过滤记录575
2 1.2.5对记录集返回的记录进行排序577
21.2.6在搜索中使用通配符578
21.2.7在结果集中移动579
21.3.1 UserMaintenance演示程序580
21.3 MFC数据库类编程580
21.2.9删除记录580
2 1.2.8保存记录580
21.3.2参数化记录集与查询590
21.4小结598
第22章ADO599
22.1 ADO概览599
22.1.1通用数据访问初步知识599
22.1.2 ADO结构600
22.1.3 ADO的许多接口603
22.1.4仔细阅读ADO类库603
22.2使用ADO编程604
22.2.1导入ADO类库604
22.2.2初始化和结束COM606
22.2.3连接数据源606
22.2.4创建命令607
22.2.5执行返回数据的命令608
22.2.6筛选数据和对数据排序609
22.2.8更新数据612
22.3 Demo ADO应用程序613
22.3.2显示用户614
22.3.3更新用户信息617
22.3.4添加一些用户界面装饰620
22.4小结622
第23章DAO623
23.1 DAO层次结构624
23.1.1 DBEngine对象625
23.1.2 Workspaces集合对象625
23.1.3 Workspace对象625
23.1.4 Databases集合625
23.1.5 Database对象626
23.1.6 Recordsets集合626
23.1.7 Recordset对象626
23.2.2 dbDAO C++类627
23.2 DAO的多种内部形式627
23.2.1 DAO自动化接口627
23.2.3 MFC DAO类628
23.3使用MFC DAO类628
23.3.1 CDaoDatabase类629
23.3.2 CDaoWorkspace类631
23.3.3 CDaoRecordset类631
23.4 MFC DAO演示程序638
23.4.1添加一个工具类封装用户数据639
23.4.2为UserMaster表创建一个CDaoRecordset类639
23.4.3初始化对话框639
23.4.5初始化对话框的控件640
23.4.4将用户添入列表框640
23.4.6列表框项选择事件处理程序641
23.4.7保存用户数据642
23.4.8删除用户644
23.4.9清理工作645
23.4.10测试演示程序646
23.5小结646
第24章MFC中的CFile和文件I/O647
24.1 CFile类647
24.1.1实例化CFile对象648
24.1.2打开文件648
24.1.4将数据写入文件650
24.1.3从文件读取数据650
24.1.5定位文件中的数据651
24.2打开和显示二进制文件的例子652
24.3使用文本文件654
24.4以逗号进行分隔的文件类656
24.5打开和显示CSV文件的例子661
24.6操作压缩数据663
24.6.1数据压缩标准663
24.6.2 CompressDemo程序664
24.6.3 CCompressedFile类函数666
24.6.4剖析CompressDemo668
24.7小结670
第25章 在Visual C++中使用XML671
25.1 XML概述671
25.2 XML术语和语法672
25.3 XMLDOM介绍675
25.4上载和查看XML文档676
25.4.1创建Visual C++项目和对话框676
25.4.2合并XML支持677
25.4.3上载XML文档678
25.4.4遍历XML文档679
25.4.5 使UI更友好682
25.5小结684
第5部分 COM和ATL685
第26章基于接口的程序设计687
26.1基于组件的软件687
26.1.1 n层系统688
26.1.2接口与实现689
26.1.3抽象类和接口690
26.1.4 C++的VTBL692
26.1.5管理对象692
26.2使用IUnknown693
26.2.1管理生命周期694
26.2.2 GUID,CLSID和IID696
26…2 3发现身份697
26.2.4使用HRESULT值698
26.2.5接口不变性700
26.2.6接口继承701
26.3 IDL简介703
26.4小结706
第27章创建和使用组件707
27.1 COM的设计目标和优势707
27.2对象和服务器708
27.3创建COM对象709
27.4注册表711
27.4.1 DLL必须输出的函数712
27.4.2IClassFactory714
27.4.3使用RegSvr32716
27.5小结722
第28章类型库723
28.1类型库723
28.2列集724
28.2.1类型库列集725
28.2.2 IDL,ODL和MkTypLib725
28.3 C++编译器扩展728
28.3.1 EXE服务器和列集731
28.3.2自定义接口和proxy-stub DLL734
28.4小结736
29.1套间模型737
第29章COM中的线程737
29.1.1 STA与MTA738
29.1.2客户/服务器线程739
29.1.3混合线程模型739
29.2线程列集741
29.2.1MEOW数据包743
29.2.2问题较多的FTM746
29.3小结748
第30章ATL介绍749
30.1活动模板库749
30.2创建ATL COM应用程序750
30.2.1查看ATL应用程序代码751
30.2.2创建新的ATL对象755
30.2.3查看ATL对象代码757
30.2.4编写带属性的代码761
30.3扩展向导764
30.3.1多个对象764
30.3.2多个接口764
30.4支持ATL调试767
30.4.1_ATL_DEBUG_QI宏767
30.4.2_ATL_DEBUG_INTERFACES宏767
30.4.3ATLbuild环境的配置768
30.4.4实现ATL的ISupportErrorInfo接口768
30.5小结770
第31章ATL的窗口程序设计771
31.1 ATL窗口类771
3 1.2消息映射772
3 1.2.1替代消息映射773
31.2.2链接的消息映射775
31.2.3反射的消息776
3 1.3 ATL窗口应用程序示例777
31.3.1创建Win32应用程序项目777
3 1.3.2手工添加ATL的支持778
3 1.3.3 创建一个ATL窗口779
31.3.5测试HelloATL应用程序781
31.3.4修改WinMain来创建ATL模块781
31.4 ATL框架-视图应用程序示例782
3 1.4.1创建Scribble项目782
3 1.4.2添加主框架窗口782
31.4.3处理鼠标的输入操作785
31.4.4添加菜单787
31.5小结790
第32章用ATL处理事件791
32.1事件的定义791
32.2源接口793
32.3向导对事件的支持793
32.4 Event接口定义794
32.5连接点和IConnectionPoint796
32.6 IConnectionPointContainer796
32.7建立事件的调用序列798
32.8不带属性的服务器端事件的支持798
32.9带属性的服务器端的事件支持800
32.10不带属性的客户端事件的支持802
32.1 1带属性的客户端事件的支持804
32.12小结805
第33章用ATL实现自动化807
33.1自动化介绍807
33.1.1 VARIANT808
33.1.2 IDispatch接口810
33.1.3 Dispinterfaces813
33.1.4双接口813
33.1.5 ATL对IDispatch的支持814
33.2创建ATL自动化服务器816
33.3 自动化客户818
33.3.1智能指针客户819
33.3.2 MFC包装客户819
33.3.3HTML/JavaScript客户823
33.3.4使用CComDispatchDriver824
33.5小结825
33.4使用双接口和自动化的问题825
第34章WTL简介827
34.1 WTL概述和特点827
34.2下载和安装WTL829
34.3 WTL的Hello示例程序830
34.4 WTL的Scribble程序835
34.5 WTL的适用范围837
34.6学习更多WTL的知识838
34.7小结838
第6部分 COM+编程839
35.1 COM+和标准COM部件841
35.1.1创建标准COM部件841
第35章 创建完整的COM+应用程序841
35.1.2建立简单的脚本客户844
35.1.3将COM部件集成到COM+运行环境中845
35.2 COM+和状态849
35.2.1状态的类型849
35.2.2存储状态850
35.3 COM+部件需求851
35.4建立COM+部件852
35.4.1上下文对象852
35.4.2对象控制853
35.4.3使用Visual C++建立COM+部件854
35.4.4共享属性管理器855
35.4.5在COM+内引用对象857
35.4.6在COM+内创建对象858
35.5小结858
第36章 COM+和松散耦合事件859
36.1 COM+事件服务859
36.1.1事件是什么860
36.1.2 COM+事件服务限制861
36.2事件服务演示862
36.2.1创建发布者862
36.2.2创建订阅者864
36.2.3启动COM+事件867
36.2.4测试COM+事件服务869
36.3 IEventSubscription接口870
36.4使用瞬时订阅871
36.4.1注册瞬时订阅871
36.4.2取消瞬时订阅注册872
36.5事件过滤873
36.5.1管理地创建过滤字符串874
36.5.2用程序创建过滤字符串875
36.6小结876
第37章 COM+排队部件877
37.1排队部件概述877
37.1.1排队部件的好处877
37.1.2定义排队部件880
37.1.3排队部件适合你吗883
37.2开发一个简单的QC程序886
37.2.1编写服务器端的Queued部件886
37.2.2编写排队部件的客户程序888
37.2.3测试部件和客户代码894
37.3小结896
第7部分ATL服务器897
第38章ATL服务器初探899
38.1 ATL服务器概述899
38.1.1服务器端处理的历史899
38.1.2 ISAPI扩展和筛选900
38.2.1创建ATL服务器工程902
38.2开始使用ATL服务器902
38.2.2编译连接ATL服务器项目903
38.2.3快速浏览文件904
38.2.4模板处理904
38.3 ATL服务器参数905
38.3.1单参数函数905
38.3.2多参数函数906
38.4小结910
第39章创建带有ATL服务器的Web服务911
39.1理解Web服务911
39.1.1 Web服务易于编写912
39.2理解SOAP913
39.1.2 Web服务是平台独立的913
39.1.3 Web服务可通过防火墙工作913
39.3 SOAP是什么914
39.3.1 SOAP包915
39.4开始ATL服务器Web服务917
39.4.1创建ATL服务器Web服务917
39.4.2从MFC应用程序中使用Web服务919
39.5小结922
第40章编写ATL服务器应用程序923
40.1编写一个“每日提示”的演示程序923
40.1.2实现标志处理函数924
40.1.1删除向导的默认值924
40.1.3更新TipOfTheDay.SRF928
40.1.4调整外观929
40.1.5实现每天的随机提示931
40.1.6引入其他的SRF标志937
40.2小结940
第8部分 .NET编程941
第41章.NET介绍943
41.1.NET概述943
41.2选择.NET语言946
41.3 BCL和系统名字空间947
41.4生成执行代码948
41.4.1微软中间语言和JITter948
41.4.2程序集和元数据950
41.4.3程序集清单数据950
41.5小结952
第42章编写托管C++代码953
42.1 开始使用Visual C++953
42.2作为Smart域的属性955
42.2.1定义和使用属性957
42.2.2编译器真正在做什么958
42.2.4属性的高级用法960
42.3授权和事件句柄960
42.2.3指定只读、只写和读/写特性960
42.4用授权作为回调函数961
42.5小结966
第43章托管C++的多线程967
43.1线程概述967
43.2使用线程类创建工作者线程967
43.3向工作者线程传递数据971
43.4线程的生命周期管理974
43.4.1暂停和恢复线程的执行974
43.4.2退出线程976
43.4.3将所有方法合起来使用979
43.5使用线程的优先级983
43.6同步线程986
43.6.1用monitor类来保护代码988
43.6.2用mutex类来同步代码991
43.7多线程设计指南992
43.7.1何时使用线程992
43.7.2何时不使用线程993
43.8小结994
第44章使用Windows Forms995
44.1创建第一个Windows Forms程序995
44.2在Windows Forms中添加控件998
44.3在Windows Forms应用程序中集成菜单1003
44.4用托管C++编写图像浏览器1007
44.5小结1012