图书介绍

Visual C++.NET宝典PDF|Epub|txt|kindle电子书版本网盘下载

Visual C++.NET宝典
  • (美)Tom Archer,(美)Andrew Whitechapel著;马云等译 著
  • 出版社: 北京:电子工业出版社
  • ISBN:7505384724
  • 出版时间:2003
  • 标注页数:1012页
  • 文件大小:142MB
  • 文件页数:1038页
  • 主题词:C语言-程序设计

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

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

热门推荐