注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络软件与程序设计.NETVisual C++.NET宝典

Visual C++.NET宝典

Visual C++.NET宝典

定 价:¥99.00

作 者: (美)Tom Archer,(美)Andrew Whitechapel著;马云[等]译;马云译译
出版社: 电子工业出版社
丛编项: 美国计算机“宝典”丛书
标 签: VC++.NET

购买这本书可以去


ISBN: 9787505384729 出版时间: 2003-02-01 包装: 精装
开本: 26cm 页数: 1012 字数:  

内容简介

  全书共分为8个部分,在前一版的基础上,增加了对Visual C++.NET新特性的介绍。通过实例,向读者展示了使用这种语言进行编程的各个方面。包括编写MFC应用程序的用户界面基础知识、对话框程序和控件知识、高级编程技术、常见的数据操作方法、开发COM+应用程序、使用COM+编写异步事件和排队组件知识、ATL服务器基础知识、使用ATL服务器创建Web服务和编写基于Web的应用程序的方法、新.NET框架、编写托管C++代码以及多线程托管程序设计和处理Windows窗体知识等。本书是广大开发人员学习Visual C++的经典之作,是一本权威的使用手册,作者对C++编程有多年的编程经验,并对处理很多具体问题都有独到之处。全书覆盖了Visual C++.NET语言编程所涉及的几乎所有领域的问题。对于常见主题的讲解全面细致,对解决编程所遇到的常见问题很有帮助。本书内容全面、语言精炼、实例丰富,既适合于初学者,也适合于正在从事Visual C++.NET应用程序开发和应用的中、高级编程人员学习使用。

作者简介

暂缺《Visual C++.NET宝典》作者简介

图书目录

前言
第1部分 用户接口
第1章 编写第一个MFC应用程序
1.1 初步了解新的Visual Studio环境
1.2 创建第一个Visllal Studio项目
1.2.1 研究不同的视图
1.2.2 添加按钮事件处理程序
1.2.3 使用Dialog Editor和Toolbox
1.2.4 使用动态数据交换
1.3 更正建立错误
1.4 在Visual Studio中进行调试
1.4.1 设置断点
1.4.2 步进查看MFC源代码
1.5 使用MFC消息处理程序
1.6 处理子事件
1.7 重载基类函数
1.8 小结
第2章 文档、视图和SDI
2.1 文档/视图设计
2.2 CDocument类
2.2.1 声明一个文档类
2.2.2 CDocument的成员函数
2.2.3 文档和消息处理
2.2.4 取代虚文档函数
2.2.5 使用复杂文档数据
2.2.6 CCmdTarget和CDocItem
2.3 InitInstance函数
2.3.1 管理文档和视图
2.3.2 框架窗口简介
2.3.3 文档模板资源
2.3.4 字符串资源和文档模板
2.3.5 常备视图资源
2.3.6 文档模板的生命周期
2.3.7 模板的高级用法
2.3.8 使用多个模板
2.3.9 未正式公开的CDocManager类
2.3.10 销毁用AddDocTemplate成员函数添加的文档
2.4 CView类
2.4.1 声明一个视图类
2.4.2 分析Cview成员函数
2.4.3 使用视图和消息
2.4.4 CView类和MFC的派生变形
2.4.5 CForm视图与基于对话的应用程序的对比
2.4.6 返回框架窗口
2.4.7 框架窗口OnCreate函数
2.5 控制标题栏文本
2.5.1 去掉文档名
2.5.2 格式化标题栏文本
2.6 HexViewer SDI应用程序
2.6.1 打开和读取文件
2.6.2 视图编码
2.7 小结
第3章 MDI应用程序
3.1 比较MDI和SDI的结构
3.2 文档、视图和框架窗口的组合
3.2.1 使用多文档类型
3.2.2 使用文档的多个视图
3.2.3 了解CMDIFrameWnd类
3.2.4 了解CMDIChildWnd类
3.2.5 了解CMultiDocTemplate类
3.2.6 使用CDocument类的开销
3.2.7 MDI应用程序
3.3 Paintobj程序
3.4 介绍拆分窗口
3.4.1 区分拆分窗口
3.4.2 特定于CSplitterWnd类的内容
3.4.3 详细讲解动态拆分
3.4.4 在动态窗格中使用不同的视图
3.4.5 使用CruntimeClass对象
3.4.6 对与多个文档关联的视图使用拆分器
3.4.7 使用静态拆分器
3.4.8 创建静态拆分器
3.4.9 了解共享滚动条
3.4.10 确定实际的和理想的尺寸
3.4.11 拆分器的性能考虑
3.5 Dynsplit程序
3.6 小结
第4章 菜单
4.1 创建和编辑菜单
4.1.1 定义菜单
4.1.2 编写菜单事件处理程序
4.1.3 编写一些简单的菜单代码
4.1.4 组合菜单处理程序
4.2 加速键
4.2.1 检查键盘输入
4.2.2 定义加速键
4.2.3 创建一个加速键表资源
4.2.4 创建加速键菜单提示
4.2.5 选择适当的加速键
4.2.6 原始Windows API加速键支持
4.2.7 C将新加速键表连接到窗口类
4.3 动态更改菜单
4.3.1 菜单命令范围
4.3.2 在运行时更改菜单
4.3.3 更改现有弹出菜单
4.3.4 永久和临时句柄映射
4.4 上下文菜单
4.5 小结
第5章 鼠标和键盘处理
5.1 关于事件
5.2 鼠标输入
5.2.1 创建鼠标消息处理程序
5.2.2 在屏幕坐标和窗口坐标之间转换
5.2.3 创建处理鼠标事件的MFC程序
5.2.4 非客户鼠标事件
5.2.5 更改鼠标光标
5.2.6 创建更改鼠标指针的MFC演示程序
5.2.7 捕获鼠标
5.2.8 限制鼠标移动
5.3 键盘输入
5.3.1 物理键盘
5.3.2 Windows逻辑键盘
5.3.3 可打印字符消息
5.3.4 回显键盘焦点
5.4 小结
第6章 状态栏和工具栏
6.1 创建和控制状态栏
6.1.1 默认状态栏行为
6.1.2 对齐状态栏
6.1.3 给状态栏添加文本窗格
6.1.4 在对话框上放置状态栏
6.1.5 状态栏演示程序
6.1.6 给状态栏添加进度条
6.2 创建和控制工具栏
6.2.1 MFC控件栏
6.2.2 创建和初始化一个工具栏
6.2.3 停靠和浮动
6.2.4 显示和隐藏工具栏
6.2.5 添加工具提示和浮动文本
6.2.6 添加非按钮控件
6.2.7 更新非按钮控件
6.2.8 使用ReBar控件
6.2.9 添加ReBar支持
6.3 小结
第7章 树视图和列表视图控件
7.1 树视图控件
7.1.1 树视图控件基础知识
7.1.2 CTreeCtrl类
7.1.3 创建CTreeCtrl对象
7.1.4 处理CTreeCtrl消息
7.1.5 在CTreeCtrl中插入项
7.1.6 编辑标签
7.1.7 在编辑CTreeCtrl项的同时处理Esc和Enter键
7.1.8 上下文菜单
7.1.9 展开和折叠树控件分支
7.1.10 CTreeCtrl演示程序
7.2 列表视图控件
7.2.1 CListCtrl类
7.2.2 创建和关联CImageList对象
7.2.3 设置和更改视图风格
7.2.4 给CListCtrl中添加列
7.2.5 调整列表视图的列的大小
7.2.6 插入列表视图项
7.3 小结
第8章 图形设备界面编程
8.1 介绍图形设备界面
8.1.1 图形类型
8.1.2 GDI设备
8.1.3 GDI设备类型
8.2 设备上下文
8.2.1 DC绘图属性
8.2.2 WM_PAINT消息
8.2.3 绘制坐标
8.2.4 触发WM_PAINT
8.2.5 响应WM_PAINT以外的消息进行绘图
8.3 操纵文本
8.3.1 GDI颜色支持
8.3.2 文本颜色
8.3.3 对齐文本
8.3.4 调整文本
8.4 关于字体
8.4.1 将对象选入DC
8.4.2 选择常备字体
8.4.3 选择非常备字体
8.5 使用画笔和画刷
8.5.1 画笔
8.5.2 画刷
8.6 映射模式
8.7 光栅操作
8.7.1 文本绘图函数
8.7.2 文本坐标的计算
8.8 剪取区域
8.9 小结
第9章 位图、调色板和DIB
9.1 位图和视频内存
9.2 创建CBitmap对象
9.3 加载和设置位图内容
9.4 把CBitmaps绘制到屏幕上
9.4.1 绘制位图
9.4.2 创建和显示位图
9.5 光栅操作
9.6 BlitDemo程序
9.7 调色板和颜色
9.7.1 其他颜色空间
9.7.2 逻辑调色板
9.7.3 调色板事件
9.7.4 SetSystemPaletteUse函数
9.8 设备无关位图
9.8.1 剖析DIB文件
9.8.2 CDib类
9.8.3 ShowDIB演示程序
9.9 双缓冲
9.10 小结
第2部分 对话框
第10章 对话框基础知识和常用控件
10.1 从对话框和控件开始
10.1.1 定义CDialog派生类
10.1.2 CDialog的主要成员
10.1.3 显示、控制模态对话框
10.1.4 命令处理路由和默认处理
10.1.5 控件也是窗口
10.1.6 把MFC类与控件关联起来
10.2 使用CButton类
10.2.1 按钮
10.2.2 单选钮
10.2.3 复选框控件
10.2.4 位图按钮
10.2.5 使用BS_BITMAP风格
10.3 使用CEdit类
10.3.1 使用DDX传送数据
10.3.2 使用编辑控件
10.3.3 修改示例程序
10.4 使用CListBox类
10.4.1 添加和删除选项
10.4.2 选择项和查找项
10.4.3 使用选项数据
10.5 使用CComboBox类
10.6 修改控件运行时的属性
10.6.1 改变控件的颜色
10.6.2 设置控件字体
10.6.3 循环遍历对话框中的控件
10.7 小结
第11章 对话框和窗体视图
11.1 无模态对话框
11.1.1 创建和显示无模态对话框
11.1.2 交换数据和状态
11.1.3 无模态对话框示例程序
11.2 CommandUI和KickIdle
11.3 键盘加速键
11.4 截获键盘输入
11.5 串行化基于对话框的应用程序
11.5.1 让每个类可串行化
11.5.2 实现Serialize虚函数
11.5.3 从磁盘读取数据
11.5.4 将数据保存到磁盘
11.5.5 基于对话框的串行化示例程序
11.6 为SDI和MDI应用程序创建窗体视图
11.6.1 创建SDI窗体视图应用程序
11.6.2 在文档的多个视图之间进行切换
11.7 MFC控件视图
11.7.1 常见的误解
11.7.2 工作原理
11.7.3 创建CListBoxView类
11.7.4 使用CListBoxView类
11.8 小结
第12章 属性单和属性页
12.1 CPropertySheet和CPropertyPage
12.1.1 创建属性页资源
12.1.2 创建CPropertyPage类
12.1.3 显示模态CPropertySheet
12.1.4 显示无模态CPropertySheet
12.1.5 在对话框内显示属性单
12.2 模态属性单演示程序
12.3 高级技巧和提示
12.3.1 除去标准按钮
12.3.2 重定位标准按钮
12.3.3 更改标准按钮的标题
12.3.4 禁用选项卡
12.3.5 重新启用属性页
12.3.6 动态设置CPropertyPage选项卡标题
12.3.7 更改选项卡的字体
12.3.8 利用CPropertyPage选项卡的助记符
12.4 小结
第3部分 高级编程
第13章 自定义绘制控件
13.1 自己绘制与自定义绘制
13.1.1 处理NM_CUSTOMDRAW通知
13.1.2 为什么自定义绘制
13.2 创建自定义绘制控件
13.2.1 创建类
13.2.2 ClistCtrlWithCustomDraw类
13.2.3 使用ClistCtrlWithCustomDraw类
13.3 小结
第14章 为控件添加自定义行为
14.1 添加行为
14.1.1 修改基类
14.1.2 多重继承
14.1.3 消息映射
14.1.4 模板类
14.1.5 两者兼顾的方法
14.1.6 消息映射的问题
14.1.7 错误
14.2 调整对话框和属性页
14.2.1 问题
14.2.2 模板友好的消息映射
14.2.3 多重继承
14.2.4 模板类
14.2.5 全部集中到一起
14.2.6 调整对话框中控件的尺寸
14.2.7 使用TXResizable
14.3 小结
第15章 打印和打印预览
15.1 使用Win32 SDK实现打印
15.1.1 简单的打印示例程序
15.1.2 退出打印作业
15.2 用MFC进行打印
15.2.1 理解打印过程中开发人员和框架的作用
15.2.2 理解MFC打印序列
15.2.3 WYSIWYG打印示例程序
15.3 打印预览的体系结构
15.3.1 打印预览过程
15.3.2 修改打印预览
15.3.3 增强应用程序的打印预览
15.4 理解CPrintDialog类
15.5 小结
第16章 使用DLL
16.1 DLL概述
16.1.1 动态库和静态库
16.1.2 加载DLL
16.2 Visual C++常规DLL
16.2.1 创建常规DLL
16.2.2 了解常规DLL内部
16.2.3 实现自己的DIIMain函数
16.2.4 动态加载DLL
16.2.5 编写Windows异常分支
16.2.6 使用DLL的全局C++对象
16.3 MFC扩展DLL
16.3.1 理解MFC扩展DLL内核
16.3.2 通过MFC扩展DLL导出类
16.3.3 关于AFX_EXT_CLASS的更多内容
16.3.4 使用嵌套的MFC扩展DLL
16.3.5 导出资源
16.3.6 编写在DLL中封装文档和视图的演示程序
16.4 小结
第17章 多线程编程
17.1 使用线程
17.1.1 创建工作者线程
17.1.2 线程函数编程
17.1.3 创建UI线程
17.1.4 挂起和继续执行线程
17.1.5 使线程睡眠
17.1.6 从一个线程终止另一个线程
17.1.7 线程、进程和优先级
17.1.8 进程优先级类
17.2 在线程之间共享MFC对象
17.3 在多线程应用程序中使用C运行时函数
17.4 多线程演示程序
17.5 小结
第18章 MFC异常处理
18.1 结构化异常处理
18.2 异常处理语法
18.2.1 抛出异常
18.2.2 捕获异常
18.3 错误处理技巧比较
18.3.1 处理错误码
18.3.2 在正确上下文中处理错误
18.3.3 提高代码可读性
18.3.4 从构造函数中抛出异常
18.4 CException类
18.4.1 创建和删除CException对象
18.4.2 从CException对象中检索错误信息
18.4.3 捕获多种异常类型
18.5 定义CException派生类
18.5.1 研究CFileException类
18.5.2 CFileException演示程序
18.5.3 定义自己的CException派生类
18.6 高级异常处理技术
18.6.1 确定应该捕获异常的函数
18.6.2 确定放置在try块中的代码
18.6.3 确定放置在catch块中的代码
18.6.4 从虚函数中抛出异常
18.7 小结
第4部分 数据I/O
第19章 剪贴报
19.1 使用Windows剪贴板API
19.1.1 为数据分配内存空间
19.1.2 把数据复制到全局内存中
19.1.3 解除对全局内存的锁定
19.1.4 打开剪贴板
19.1.5 清空剪贴板
19.1.6 设置剪贴板数据
19.1.7 关闭剪贴板
19.2 传递纯文本的示例程序
19.2.1 创建SimpleTextTransfer示例项目文件
19.2.2 把文本复制到剪贴板上
19.2.3 把文本剪切到剪贴板上
19.2.4 粘贴剪贴板上的文本
19.2.5 对SimpleTextTransfer示例程序进行测试
19.3 转移位图图像的示例程序
19.3.1 创建BitmapTransfer示例项目文件
19.3.2 粘贴剪贴板中的位图图像
19.3.3 对Paste Bitmap按钮的功能进行测试
19.3.4 把位图图像复制到剪贴板上
19.3.5 测试把位图复制到剪贴板上的程序功能
19.4 转移自定义数据的示例程序
19.4.1 创建CustomDataTransfer示例项目文件
19.4.2 把自定义数据格式复制到剪贴板上
19.4.3 把自定义数据复制到剪贴板上
19.4.4 从剪贴板上粘贴自定义数据
19.4.5 对CustomDataTransfer示例程序进行测试
19.5 接收剪贴板上内容已被更改的通知消息
19.6 小结
第20章 使用ODBC
20.1 ODBC定义和数据库术语
20.2 ODBC的标准
20.2.1 理解ODBC的工作方式
20.2.2 ODBC API一致性层
20.2.3 ODBC SQL一致性层
20.3 实现ODBC
20.3.1 配置ODBC
20.3.2 连接数据源
20.3.3 查询数据和数据源
20.3.4 准备和执行SQL请求
20.3.5 检索数据
20.3.6 断开与数据源的连接
20.4 使用ODBC获取数据
20.4.1 创建ODBC DSN
20.4.2 为Visual C++项目添加对ODBC的支持
20.4.3 修改ODBCDemo对话框
20.4.4 添加初始化程序和数据库代码
20.5 使用ODBC动态查询数据源
20.5.1 CODBCDynamic类声明
20.5.2 了解CODBCDynamic类的工作方式
20.5.5 使用CODBCDynamic类
20.6 小结
第21章 MFC数据库类
21.1 CDatabase对象
21.1.1 使用CDatabase::Open函数
21.1.2 使用CDatabase::OpenEx函数
21.1.3 事务和CDatabase对象
21.2 CRecordset对象
21.2.1 构造一个记录集
21.2.2 打开一个记录集
21.2.3 使用RFX读写数据
21.2.4 过滤记录
21.2.5 对记录集返回的记录进行排序
21.2.6 在搜索中使用通配符
21.2.7 在结果集中移动
21.2.8 保存记录
21.2.9 删除记录
21.3 MFC数据库类编程
21.3.1 UserMaintenance演示程序
21.3.2 参数化记录集与查询
21.4 小结
第22章 ADO
22.1 ADO概览
22.1.1 通用数据访问初步知识
22.1.2 ADO结构
22.1.3 ADO的许多接口
22.1.4 仔细阅读ADO类库
22.2 使用ADO编程
22.2.1 导入ADO类库
22.2.2 初始化和结束COM
22.2.3 连接数据源
22.2.4 创建命令
22.2.5 执行返回数据的命令
22.2.6 筛选数据和对数据排序
22.2.7 遍历记录集
22.2.8 更新数据
22.3 Demo ADO应用程序
22.3.1 初始化连接
22.3.2 显示用户
22.3.3 更新用户信息
22.3.4 添加一些用户界面装饰
22.4 小结
第23章 DAO
23.1 DAO层次结构
23.1.1 DBEngine对象
23.1.2 Workspaces集合对象
23.1.3 Workspace对象
23.1.4 Databases集合
23.1.5 Database对象
23.1.6 Recordsets集合
23.1.7 Recordset对象
23.2 DAO的多种内部形式
23.2.1 DAO自动化接口
23.2.2 dbDAO C++类
23.2.3 MFC DAO类
23.3 使用MFC DAO类
23.3.1 CDaoDatabase类
23.3.2 CDaoWorkspace类
23.3.3 CDaoRecordset类
23.4 MFC DAO演示程序
23.4.1 添加一个工具类封装用户数据
23.4.2 为UserMaster表创建一个CDaoRecordset类
23.4.3 初始化对话框
23.4.4 将用户添入列表框
23.4.5 初始化对话框的控件
23.4.6 列表框项选择事件处理程序
23.4.7 保存用户数据
23.4.8 删除用户
23.4.9 清理工作
23.4.10 测试演示程序
23.5 小结
第24章 MFC中的CFile和文件I/O
24.1 CFile类
24.1.1 实例化CFile对象
24.1.2 打开文件
24.1.3 从文件读取数据
24.1.4 将数据写入文件
24.1.5 定位文件中的数据
24.2 打开和显示二进制文件的例子
24.3 使用文本文件
24.4 以逗号进行分隔的文件类
24.5 打开和显示CSV文件的例子
24.6 操作压缩数据
24.6.1 数据压缩标准
24.6.2 CompressDemo程序
24.6.3 CCompressedFile类函数
24.6.4 剖析CompressDemo
24.7 小结
第25章 在Visual C++中使用XML
25.1 XML概述
25.2 XML术语和语法
25.3 XML DOM介绍
25.4 上载和查看XML文档
25.4.1 创建Visual C++项目和对话框
25.4.2 合并XML支持
25.4.3 上载XML文档
25.4.4 遍历XML文档
25.4.5 使UI更友好
25.5 小结
第5部分 COM和ATL
第26章 基于接口的程序设计
26.1 基于组件的软件
26.1.1 n层系统
26.1.2 接口与实现
26.1.3 抽象类和接口
26.1.4 C++的VTBL
26.1.5 管理对象
26.2 使用IUnknown
26.2.1 管理生命周期
26.2.2 GUID,CLSID和IID
26.2.3 发现身份
26.2.4 使用HRESULT值
26.2.5 接口不变性
26.2.6 接口继承
26.3 IDL简介
26.4 小结
第27章 创建和使用组件
27.1 COM的设计目标和优势
27.2 对象和服务器
27.3 创建COM对象
27.4 注册表
27.4.1 DLL必须输出的函数
27.4.2 IClassFactory
27.4.3 使用RegSvr32
27.5 小结
第28章 类型库
28.1 类型库
28.2 列集
28.2.1 类型库列集
28.2.2 IDL,ODL和MkTypLib
28.3 C++编译器扩展
28.3.1 EXE服务器和列集
28.3.2 自定义接口和proxy-stub DLL
28.4 小结
第29章 COM中的线程
29.1 套间模型
29.1.1 STA与MTA
29.1.2 客户/服务器线程
29.1.3 混合线程模型
29.2 线程列集
29.2.1 MEOW数据包
29.2.2 问题较多的FTM
29.3 小结
第30章 ATL介绍
30.1 活动模板库
30.2 创建ATL COM应用程序
30.2.1 查看ATL应用程序代码
30.2.2 创建新的ATL对象
30.2.3 查看ATL对象代码
30.2.4 编写带属性的代码
30.3 扩展向导
30.3.1 多个对象
30.3.2 多个接口
30.4 支持ATL调试
30.4.1 _ATL_DEBUG_QI宏
30.4.2 ATL_DEBUG_INTERFACES宏
30.4.3 ATL build环境的配置
30.4.4 实现ATL的ISupportErrorInfo接口
30.5 小结
第31章 ATL的窗口程序设计
31.1 ATL窗口类
31.2 消息映射
31.2.1 替代消息映射
31.2.2 链接的消息映射
31.2.3 反射的消息
31.3 ATL窗口应用程序示例
31.3.1 创建Win32应用程序项目
31.3.2 手工添加ATL的支持
31.3.3 创建一个ATL窗口
31.3.4 修改WinMain来创建ATL模块
31.3.5 测试HelloATL应用程序
31.4 ATL框架-视图应用程序示例
31.4.1 创建Scribble项目
31.4.2 添加主框架窗口
31.4.3 处理鼠标的输入操作
31.4.4 添加菜单
31.5 小结
第32章 用ATL处理事件
32.1 事件的定义
32.2 源接口
32.3 向导对事件的支持
32.4 Event接口定义
32.5 连接点和IConnectionPoint
32.6 IConnectionPointContainer
32.7 建立事件的调用序列
32.8 不带属性的服务器端事件的支持
32.9 带属性的服务器端的事件支持
32.10 不带属性的客户端事件的支持
32.11 带属性的客户端事件的支持
32.12 小结
第33章 用ATL实现自动化
33.1 自动化介绍
33.1.1 VARIANT
33.1.2 IDispatch接口
33.1.3 Dispinterfaces
33.1.4 双接口
33.1.5 ATL对IDispstch的支持
33.2 创建ATL自动化服务器
33.3 自动化客户
33.3.1 智能指针客户
33.3.2 MFC包装客户
33.3.3 HTML/JavaScript客户
33.3.4 使用CComDispatchDriver
33.4 使用双接口和自动化的问题
33.5 小结
第34章 WTL简介
34.1 WTL概述和特点
34.2 下载和安装WTL
34.3 WTL的Hello示例程序
34.4 WTL的Scribble程序
34.5 WTL的适用范围
34.6 学习更多WTL的知识
34.7 小结
第6部分 COM+编程
第35章 创建完整的COM+应用程序
35.1 COM+和标准COM部件
35.1.1 创建标准COM部件
35.1.2 建立简单的脚本客户
35.1.3 将COM部件集成到COM+运行环境中
35.2 COM+和状态
35.2.1 状态的类型
35.2.2 存储状态
35.3 COM+部件需求
35.4 建立COM+部件
35.4.1 上下文对象
35.4.2 对象控制
35.4.3 使用Visual C++建立COM+部件
35.4.4 共享属性管理器
35.4.5 在COM+内引用对象
35.4.6 在COM+内创建对象
35.5 小结
第36章 COM+和松散耦合事件
36.1 COM+事件服务
36.1.1 事件是什么
36.1.2 COM+事件服务限制
36.2 事件服务演示
36.2.1 创建发布者
36.2.2 创建订阅者
36.2.3 启动COM+事件
36.2.4 测试COM+事件服务
36.3 IEventSubscription接口
36.4 使用瞬时订阅
36.4.1 注册瞬时订阅
36.4.2 取消瞬时订阅注册
36.5 事件过滤
36.5.1 管理地创建过滤字符串
36.5.2 用程序创建过滤字符串
36.6 小结
第37章 COM+排队部件
37.1 排队部件概述
37.1.1 排队部件的好处
37.1.2 定义排队部件
37.1.3 排队部件适合你吗
37.2 开发一个简单的QC程序
37.2.1 编写服务器端的Queued部件
37.2.2 编写排队部件的客户程序
37.2.3 测试部件和客户代码
37.3 小结
第7部分 ATL服务器
第38章 ATL服务器初探
38.1 ATL服务器概述
38.1.1 服务器端处理的历史
38.1.2 ISAPI扩展和筛选
38.2 开始使用ATL服务器
38.2.1 创建ATL服务器工程
38.2.2 编译连接ATL服务器项目
38.2.3 快速浏览文件
38.2.4 模板处理
38.3 ATL服务器参数
38.3.1 单参数函数
38.3.2 多参数函数
38.4 小结
第39章 创建带有ATL服务器的Web服务
39.1 理解Web服务
39.1.1 Web服务易于编写
39.1.2 Web服务是平台独立的
39.1.3 Web服务可通过防火墙工作
39.2 理解SOAP
39.3 SOAP是什么
39.3.1 SOAP包
39.4 开始ATL服务器Web服务
39.4.1 创建ATL服务器Web服务
39.4.2 从MFC应用程序中使用Web服务
39.5 小结
第40章 编写ATL服务器应用程序
40.1 编写一个“每日提示”的演示程序
40.1.1 删除向导的默认值
40.1.2 实现标志处理函数
40.1.3 更新TipOfTheDay.SRF
40.1.4 调整外观
40.1.5 实现每天的随机提示
40.1.6 引入其他的SRF标志
40.2 小结
第8部分 .NET编程
第41章 .NET介绍
41.1 .NET概述
41.2 选择.NET语言
41.3 BCL和系统名字空间
41.4 生成执行代码
41.4.1 微软中间语言和JITter
41.4.2 程序集和元数据
41.4.3 程序集清单数据
41.5 小结
第42章 编写托管C++代码
42.1 开始使用Visual C++
42.2 作为Smart域的属性
42.2.1 定义和使用属性
42.2.2 编译器真正在做什么
42.2.3 指定只读、只写和读/写特性
42.2.4 属性的高级用法
42.3 授权和事件句柄
42.4 用授权作为回调函数
42.5 小结
第43章 托管C++的多线程
43.1 线程概述
43.2 使用线程类创建工作者线程
43.3 向工作者线程传递数据
43.4 线程的生命周期管理
43.4.1 暂停和恢复线程的执行
43.4.2 退出线程
43.4.3 将所有方法合起来使用
43.5 使用线程的优先级
43.6 同步线程
43.6.1 用monitor类来保护代码
43.6.2 用mutex类来同步代码
43.7 多线程设计指南
43.7.1 何时使用线程
43.7.2 何时不使用线程
43.8 小结
第44章 使用Windows Forms
44.1 创建第一个Windows Forms程序
44.2 在Windows Forms中添加控件
44.3 在Windows Forms应用程序中集成菜单
44.4 用托管C++编写图像浏览器
44.5 小结

本目录推荐