书籍详情

Viual C++.NET编程宝典

Viual C++.NET编程宝典

作者:牛力,傅韵 等编著

出版社:电子工业出版社

出版时间:2006-01-01

ISBN:9787121021343

定价:¥76.00

购买这本书可以去
内容简介
  本书作者具有丰富的ViualC++.NET/MFC经验,对许多具体问题的处理都有独到的见解。本书按照由浅入深的方式全面介绍使用ViualC++.NET编程的各个方面,涵盖编程工作中所涉及的几乎所有领域的问题。本书从ViualC++.NET的开发环境讲起,首先介绍使用MFC开发用户界面等基础知识;然后详细讲述扩展MFC控件/类、自定义控件的各种技巧,DLL、多线程、异常处理和数据库程序开发等内容;最后,全面深入地介绍COM的开发过程、.NET结构和托管程序设计等相关知识。本书内容全面、丰富,示例典型、实用,既适合MFC初学者,也适合那些希望提高自己的MFC使用技巧并拓展其.NET知识的中级用户。
作者简介
暂缺《Viual C++.NET编程宝典》作者简介
目录
第1部分 用户界面
第1章 MFC应用程序初接触
1.1 Visual Studio环境概览
1.2 创建第一个Visual Studio项目
1.2.1 视图简介
1.2.2 为按钮添加事件处理程序
1.2.3 使用Dialog Editor和Toolbox添加控件
1.2.4 创建DDX变量
1.3 更正生成错误
1.4 在Visual Studio环境中调试代码
1.4.1 设置断点
1.4.2 步进执行MFC源代码
1.5 处理消息
1.6 处理子事悠扬
1.7 重载基类函数
1.8 小结
第2章 了解文档、视图和单文档界面
2.1 文档、视图及其相互关系
2.2 文档/视图体系结构设计
2.3 CDocument类
2.3.1 声明文档类
2.3.2 CDocument类的成员函数
2.3.3 处理消息
2.3.4 重载虚文档函数
2.3.5 复杂文档数据的处理
2.3.6 CCmdTarget和CDocItem类
2.4 InitInstance函数
2.4.1 文档和视图管理
2.4.2 框架窗口
2.4.3 文档模板资源
2.4.4 字符串资源和文档模板
2.4.5 常用视图淘汰
2.4.6 文档模板的生命周期
2.4.7 使用多个模板
2.4.8 CDocManger类
2.4.9 删除模板
2.5 CView类
2.5.1 声明视图类
2.5.2 CView类的成员函数
2.5.3 视图和消息
2.5.4 CView类的派生类
2.5.5 CForm视图与基于对话框的应程序
2.5.6 返回框架窗口
2.5.7 OnCreate函数
2.6 控制标题栏文本
2.6.1 去掉文档名
2.6.2 格式化标题栏文本
2.7 Hex Viewer SDI应用程序
2.7.1 打开和读取文件
2.7.2 视图编码
2.8 小结
第3章 多文档界面应用程序
3.1 MDI结构和SDI结构之比较
3.2 文档、视图和框架窗口的组合
3.2.1 使用多文档类型
3.2.2 使用文档的多个视图
3.2.3 CMDIFrameWnd类
3.2.4 CMDIChidWnd类
3.2.5 CMultiDocTemplate类的开销
3.2.6 MDI应用程序
3.2.7 PaintObj程序
3.3 拆分窗口
3.4 CSplitterWnd类
3.4.1 动态拆分器
3.4.2 在动态窗格中使用不同的视图
3.4.3 CRuntimeClass对象
3.4.4 对与多个文档关联的视图使用拆分器
3.4.5 静态拆分器
3.4.6 创建静态拆分器
3.4.7 共享滚动条简介
3.4.8 确定实际尺寸和理想尺寸
3.4.9 拆分器的性能考虑
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 将快捷键表连接到窗口类
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.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 GTreeCtrl类
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章 位图和调色板
9.1 位图和视频内存
9.2 创建CBitmap对象
9.3 加载和设置位图内容
9.4 把CBitmap绘制到屏幕上
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 实现Serialze虚函数
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 CListView的工作原理
11.7.3 创建CListBox View类
11.7.4 使用CListBox View类
11.8 小结
第12章 属性单和属性页
12.1 CPropertySheet类和CPropertyPage类
12.1.1 创建属性页
12.1.2 创建CProprtyPage类
12.1.3 显示模态属性单
12.1.4 显示无模态属性单
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 “所见即所得”打印示例程序
15.3 打印预览的体系结构
15.3.1 打印预览过程
15.3.2 修改打印预览
15.3.3 增强应用程序的打印预览功能
15.4 CPrintDialog类
15.5 小结
第16章 动态链接库
16.1 DLL概述
16.1.1 动态库和静态库
16.1.2 加载DLL
16.2 常规DLL
16.2.1 创建常规DLL
16.2.2 理解常规DLL内核
16.2.3 实现自己的DIMain函数
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 导出资源
16.3.4 编写在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 多线程示程序
17.4 小结
第18章 MFC异常处理
18.1 异常处理语沙土
18.1.1 抛出异常
18.1.2 捕获异常
18.2 CException类
18.2.1 创建和删除CException对象
18.2.2 从CException对象中检索错误信
18.2.3捕获多种异常类型
18.3 定义CException派生类
18.3.1 了解CFileException类
18.3.2 CFileException示例程序
18.3.3 定义自己的CException派生类
18.4 高级异常处理技术
18.4.1 确定应该捕获异常用函数
18.4.2 确定放置在try块中的代码
18.4.3 确定放置在catch块中的代码
18.4.4 从虚函数中抛出异常
18.5 小结
第4部分 数据输入/输出
第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 创建CustomData Transfer示例程序
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.3 使用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 使用PFX读写数据
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 ADO示例程序
22.3.1 初始化连接
22.3.2 显示用户
22.3.3 更新用户信息
22.3.4 添加一些用户界面装饰
22.4 小结
第23章 CFile类和文件输入/输出
23.1 CFile类概览
23.1.1 实例化CFile对象
23.1.2 打开文件
23.1.3 从文件中读取数据
23.1.4 将数据写入文件
23.1.5 定位文件中的数据
23.2 打开和显示二进制文件
23.3 使用文本文件
23.4 以逗号进行分隔的文件类
23.5 打开和显示CSV文件
23.6 压缩文件
23.6.1 CompressDemo示例程序
23.6.2 CCompressedFile类函数
23.6.3 剖析CompressDemo示例程序
23.7 小结
第24章 在Visual C++中使用XML
24.1 XML概述
24.2 XML术语和语法
24.3 XML DOM简介
24.4 上载和查看XML文档
24.4.1 创建Visual C++项目和对话框
24.4.2 合并XML支持
24.4.3 上载XML文档
24.4.4 遍历XML文档
24.4.5 使用户界面更友好
24.5 小强
第5部分 COM
第25章 基于接口程序设计
25.1 基于组件的软件
25.1.1 n层系统
25.1.2 接口与实现
25.1.3 抽象类和接口
25.1.4 C++的VTBL
25.1.5 以象管理
25.2 使用IUnknown
25.2.1 生命周期管理
25.2.2 GUID,CLSID和IID
25.2.3 发现身份
25.2.4 使用HRESULT值
25.2.5 接口不变性
25.2.6 接口继承
25.3 IDL简介
25.4 小结
第26章 创建和使用组件
26.1 COM的优势
26.2 对象和服务器
26.3 创建COM对象
26.4 注册表
26.4.1 DLL必须出的函数
26.4.2 IClassFactory
26.4.3 使用RegSvr32
26.5 小结
第27章 类型库
27.1 类型库概述
27.2 封送处理
27.2.1 类型库封送处理
27.2.2 IDL,ODL和MkTypeLib
27.3 C+++编译器扩展
27.3.1 EXE服务器和封送处理
27.3.2 自定义接口和代理-存根DLL
27.4 小结
第6部分 .NET编程
第28章 .NET简介
28.1 .NET概述
28.2 BCL和System名字空间
28.3 生成执行代码
28.3.1 MSIL和JITter
28.3.2 程序集
28.3.3 程序集清单数据
28.4 小绳索
第29章 编写托管C++代码
29.1 开始使用Visual C++
29.2 作为智能域的属性
29.2.1 定义和使用属性
29.2.2 编译器真正在做什么
29.2.3 指定只读、只写和读/写特性
29.2.4 属性的高级用法
29.3 委托和事件名柄
29.4 用委托作为回调函数
29.5 小结
第30章 托管C++的多线程
30.1 线程概述
30.2 使用线程类创建辅助线程
30.3 向辅助线程传递数据
30.4 线程的生命周期管理
30.4.1 暂停和恢复线程的执行
30.4.2 退出线程
30.4.3 结合使用所有方法
30.5 线程的优良先级
30.6 同步线程
30.6.1 用Monitor类来保护代码
30.6.2 用Mutex类来同步代码
30.7 小结
第31章 使用Windows Forms
31.1 创建第一个Windows Forms程序
31.2 向窗体中添加控件
31.3 在Windows Forms应用程序中集成菜单
31.4 用托管C++编写图像浏览器
31.5 小结
猜您喜欢

读书导航