简介
利用MFC开发Windows程序已成为编程的主流。本书引导读者逐渐深入了解MFC,并向读者展示如何避免走弯路,以及如何创建非同寻常的程序。本书还包括某些MFC的高级特性,如多线程、数据库、扩展DLL和自定义向导。
目录
目 录
译者序
前言
第1章 体系结构 1
1.1 mfc的主要成员 2
1.1.1 我的程序与上述不同 5
1.1.2 军官能力测试 5
1.1.3 框架窗口 6
1.1.4 消息映射 7
1.1.5 消息传递 10
1.1.6 文档模板 11
1.2 细节 11
1.2.1 cwinapp 11
1.2.2 cview 13
1.2.3 cdocument 15
1.2.4 cframewnd和有关的类 16
1.2.5 cdoctemplate 17
1.2.6 在运行时浏览对象 19
1.3 支持对象 20
1.3.1 cwnd对象 21
.1.3.2 cobject支持 21
1.3.3 关于集合 22
1.3.4 使用模板 22
1.3.5 集合细节 25
1.4 总结 26
1.5 框架结构实战指南 27
第2章 序列化 35
2.1 持久性与存储器 35
2.2 快速浏览carchive 36
2.3 文件打开和保存的内幕 37
2.4 提供一个定制的对话框 40
2.5 另外一个示范程序 47
2.5.1 探究cdib 48
2.5.2 示范程序 48
2.6 序列化对象 50
2.7 处理多个版本 51
2.8 定制序列化 54
2.9 简单的定制 56
2.10 可移动性问题 57
2.11 总结 57
2.12 序列化实战指南 58
第3章 打印 61
3.1 mfc打印—大谎言? 62
3.1.1 难题 64
3.1.2 一个完整的打印示范程序 65
3.2 定制打印预览 70
3.2.1 实现打印预览 71
3.2.2 一个定制打印预览的示范程序 72
3.2.3 高级定制 75
3.2.4 衍生新类 75
3.2.5 预览内部信息 75
3.2.6 创建一个可编辑的打印预览 76
3.3 总结 79
3.4 打印实战指南 79
第4章 窗口、视和控件 82
4.1 改进的clistctrl类 83
4.1.1 修改控件 83
4.1.2 显示选中项 85
4.1.3 使用修改后的列表 86
4.1.4 对话框控件 87
4.2 一般窗口操作 88
4.2.1 设置窗口风格及初始化状况 88
4.2.2 定制窗口类 89
4.2.3 限制窗口尺寸 90
4.2.4 设置标题 93
4.2.5 使用updatecmdui 93
4.3 关于cscrollview 93
4.3.1 增加键盘滚动 94
4.3.2 优化滚动 97
4.3.3 在多于32k个单元中实现滚动 99
4.4 关于ceditview 103
4.4.1 修补ceditview 103
4.4.2 ceditview和分隔条 107
4.5 有关cricheditview 109
4.6 操作自画控件 114
4.6.1 mfc的解决办法:self-draw 114
4.6.2 其他解决办法 114
4.6.3 使用self-draw控件 118
4.6.4 self-draw列表框和组合框 120
4.6.5 self-draw菜单 122
4.7 对话框中的编辑树或列表视项 123
4.8 分隔窗口 125
4.8.1 用户看到什么 125
4.8.2 编程分隔 125
4.8.3 嵌套分隔 126
4.8.4 为何不使用csplitterwnd? 128
4.9 总结 129
4.10 窗口、视和控件的实战指南 129
第5章 对话框 134
5.1 mfc和对话框 134
5.2 实现非模态对话框 135
5.3 使用ddx/ddv 136
5.3.1 有关数据验证 139
5.3.2 现场数据验证 139
5.3.3 其他数据映射技巧 142
5.3.4 添加定制的ddx/ddv 142
5.3.5 与class wizard集成 145
5.4 使用对话条 146
5.5 定制通用对话框 152
5.5.1 逐步定制 152
5.5.2 颜色对话框的示范程序 153
5.5.3 定制文件打开对话框 154
5.6 总结 156
5.7 对话框实战指南 156
第6章 属性页和向导 160
6.1 属性页总览 161
6.2 使用单个模板 162
6.3 非模态属性页 168
6.4 定制app wizard 173
6.4.1 创建一个向导 174
6.4.2 调制定制器 175
6.4.3 创建项目 176
6.4.4 其他选项 177
6.4.5 按下on 178
6.4.6 调试向导 181
6.4.7 有关向导的更多想法 182
6.5 总结 182
6.6 属性页和向导实战指南 182
第7章 dll和mfc 185
7.1 链接过程 186
7.2 语言考虑 186
7.3 使用一般的dll 186
7.4 创建一个普通dll 188
7.4.1 主文件 188
7.4.2 输出函数 190
7.4.3 私有和共享变量 192
7.5 mfc dll 193
7.6 讨论一些ole(或者activex)dll 196
7.7 总结 196
7.8 dll和mfc实战指南 196
第8章 activex 198
8.1 什么是activex对象 199
8.2 activex和oop 200
8.2.1 activex封装性 200
8.2.2 activex重用性 200
8.2.3 activex多态性 201
8.3 接口 201
8.3.1 属性 202
8.3.2 方法 202
8.3.3 事件 202
8.3.4 名称与数字 202
8.4 activex和mfc 202
8.5 mfc和activex控件 208
8.5.1 使用控件向导 209
8.52 添加属性 211
8.5.3 使用环境属性 211
8.5.4 添加方法 212
8.5.5 添加事件 212
8.5.6 添加属性页 213
8.5.7 检查已经产生的文件 213
8.5.8 测试和使用控件 213
8.6 一个简单的控件 214
8.7 使用activex控件 221
8.8 总结 224
8.9 activex实战指南 224
第9章 mfc和internet 228
9.1 internet入门 228
9.11 tcp/ip 229
9.1.2 套接字 229
9.1.3 协议 230
9.2 http内幕和url 230
9.3 isapi 231
9.4 activex和java 231
9.5 mfc套接字 231
9.51 与csocket一起使用carchive 232
9.5.2 更进一步:casyncsocket 233
9.5.3 阻塞调用 233
9.5.4 例子 233
9.5.5 基本框架 234
9.5.6 添加一个定制的套接字 244
9.5.7 其他一些考虑 244
9.5.8 总结套接字 245
9.6 高层协议 245
9.6.1 链接检测器 246
9.6.2 其他观点 253
9.7 activex的internet支持 253
9.8 isapi支持 255
9.8.1 计划 256
9.8.2 五月—十二月婚礼 257
9.8.3 快速浏览isapi 262
9.8.4 编写hilo.dll服务器 263
9.8.5 研究这个c++ dll 265
9.8.6 安装和分发 267
9.8.7 未来方向 267
9.9 传统的mfc isapi 268
9.10 总结 271
9.11 mfc和internet实战指南 271
第10章 mfc和数据库 274
10.1 详细介绍数据库 279
10.2 添加更多的功能 280
10.3 添加和删除记录 280
10.4 不使用视 280
10.5 示范程序 280
10.6 研究示范程序 285
10.7 总结 285
10.8 mfc和数据库实战指南 286
第11章 多线程技术 289
11.1 线程和进程 289
11.2 线程有关问题 289
11.3 线程和mfc 290
11.4 创建一个mfc工作者线程 291
11.5 创建一个mfc用户界面线程 291
11.6 操作线程 291
11.7 了解返回值 292
11.8 线程同步 293
11.9 同步化对象的类型 293
11.10 线程的替代方法 294
11.11 示范应用程序 295
11.12 总结 300
11.13 多线程技术实战指南 300
第12章 终点 304
12.1 学无止境 305
12.2 未来的东西 305
12.3 其他资源 306
附录a 有关外壳图标处理过程 308
a.1 外壳扩展的类型 308
a.2 什么时候不使用外壳扩展 309
a.3 关于com对象 309
a.4 外壳扩展就这样结束了吗? 316
附录b mfc源代码指南 317
b.1 源代码的正确使用 317
b.2 最漫长的旅行 317
cd中的内容 329
译者序
前言
第1章 体系结构 1
1.1 mfc的主要成员 2
1.1.1 我的程序与上述不同 5
1.1.2 军官能力测试 5
1.1.3 框架窗口 6
1.1.4 消息映射 7
1.1.5 消息传递 10
1.1.6 文档模板 11
1.2 细节 11
1.2.1 cwinapp 11
1.2.2 cview 13
1.2.3 cdocument 15
1.2.4 cframewnd和有关的类 16
1.2.5 cdoctemplate 17
1.2.6 在运行时浏览对象 19
1.3 支持对象 20
1.3.1 cwnd对象 21
.1.3.2 cobject支持 21
1.3.3 关于集合 22
1.3.4 使用模板 22
1.3.5 集合细节 25
1.4 总结 26
1.5 框架结构实战指南 27
第2章 序列化 35
2.1 持久性与存储器 35
2.2 快速浏览carchive 36
2.3 文件打开和保存的内幕 37
2.4 提供一个定制的对话框 40
2.5 另外一个示范程序 47
2.5.1 探究cdib 48
2.5.2 示范程序 48
2.6 序列化对象 50
2.7 处理多个版本 51
2.8 定制序列化 54
2.9 简单的定制 56
2.10 可移动性问题 57
2.11 总结 57
2.12 序列化实战指南 58
第3章 打印 61
3.1 mfc打印—大谎言? 62
3.1.1 难题 64
3.1.2 一个完整的打印示范程序 65
3.2 定制打印预览 70
3.2.1 实现打印预览 71
3.2.2 一个定制打印预览的示范程序 72
3.2.3 高级定制 75
3.2.4 衍生新类 75
3.2.5 预览内部信息 75
3.2.6 创建一个可编辑的打印预览 76
3.3 总结 79
3.4 打印实战指南 79
第4章 窗口、视和控件 82
4.1 改进的clistctrl类 83
4.1.1 修改控件 83
4.1.2 显示选中项 85
4.1.3 使用修改后的列表 86
4.1.4 对话框控件 87
4.2 一般窗口操作 88
4.2.1 设置窗口风格及初始化状况 88
4.2.2 定制窗口类 89
4.2.3 限制窗口尺寸 90
4.2.4 设置标题 93
4.2.5 使用updatecmdui 93
4.3 关于cscrollview 93
4.3.1 增加键盘滚动 94
4.3.2 优化滚动 97
4.3.3 在多于32k个单元中实现滚动 99
4.4 关于ceditview 103
4.4.1 修补ceditview 103
4.4.2 ceditview和分隔条 107
4.5 有关cricheditview 109
4.6 操作自画控件 114
4.6.1 mfc的解决办法:self-draw 114
4.6.2 其他解决办法 114
4.6.3 使用self-draw控件 118
4.6.4 self-draw列表框和组合框 120
4.6.5 self-draw菜单 122
4.7 对话框中的编辑树或列表视项 123
4.8 分隔窗口 125
4.8.1 用户看到什么 125
4.8.2 编程分隔 125
4.8.3 嵌套分隔 126
4.8.4 为何不使用csplitterwnd? 128
4.9 总结 129
4.10 窗口、视和控件的实战指南 129
第5章 对话框 134
5.1 mfc和对话框 134
5.2 实现非模态对话框 135
5.3 使用ddx/ddv 136
5.3.1 有关数据验证 139
5.3.2 现场数据验证 139
5.3.3 其他数据映射技巧 142
5.3.4 添加定制的ddx/ddv 142
5.3.5 与class wizard集成 145
5.4 使用对话条 146
5.5 定制通用对话框 152
5.5.1 逐步定制 152
5.5.2 颜色对话框的示范程序 153
5.5.3 定制文件打开对话框 154
5.6 总结 156
5.7 对话框实战指南 156
第6章 属性页和向导 160
6.1 属性页总览 161
6.2 使用单个模板 162
6.3 非模态属性页 168
6.4 定制app wizard 173
6.4.1 创建一个向导 174
6.4.2 调制定制器 175
6.4.3 创建项目 176
6.4.4 其他选项 177
6.4.5 按下on 178
6.4.6 调试向导 181
6.4.7 有关向导的更多想法 182
6.5 总结 182
6.6 属性页和向导实战指南 182
第7章 dll和mfc 185
7.1 链接过程 186
7.2 语言考虑 186
7.3 使用一般的dll 186
7.4 创建一个普通dll 188
7.4.1 主文件 188
7.4.2 输出函数 190
7.4.3 私有和共享变量 192
7.5 mfc dll 193
7.6 讨论一些ole(或者activex)dll 196
7.7 总结 196
7.8 dll和mfc实战指南 196
第8章 activex 198
8.1 什么是activex对象 199
8.2 activex和oop 200
8.2.1 activex封装性 200
8.2.2 activex重用性 200
8.2.3 activex多态性 201
8.3 接口 201
8.3.1 属性 202
8.3.2 方法 202
8.3.3 事件 202
8.3.4 名称与数字 202
8.4 activex和mfc 202
8.5 mfc和activex控件 208
8.5.1 使用控件向导 209
8.52 添加属性 211
8.5.3 使用环境属性 211
8.5.4 添加方法 212
8.5.5 添加事件 212
8.5.6 添加属性页 213
8.5.7 检查已经产生的文件 213
8.5.8 测试和使用控件 213
8.6 一个简单的控件 214
8.7 使用activex控件 221
8.8 总结 224
8.9 activex实战指南 224
第9章 mfc和internet 228
9.1 internet入门 228
9.11 tcp/ip 229
9.1.2 套接字 229
9.1.3 协议 230
9.2 http内幕和url 230
9.3 isapi 231
9.4 activex和java 231
9.5 mfc套接字 231
9.51 与csocket一起使用carchive 232
9.5.2 更进一步:casyncsocket 233
9.5.3 阻塞调用 233
9.5.4 例子 233
9.5.5 基本框架 234
9.5.6 添加一个定制的套接字 244
9.5.7 其他一些考虑 244
9.5.8 总结套接字 245
9.6 高层协议 245
9.6.1 链接检测器 246
9.6.2 其他观点 253
9.7 activex的internet支持 253
9.8 isapi支持 255
9.8.1 计划 256
9.8.2 五月—十二月婚礼 257
9.8.3 快速浏览isapi 262
9.8.4 编写hilo.dll服务器 263
9.8.5 研究这个c++ dll 265
9.8.6 安装和分发 267
9.8.7 未来方向 267
9.9 传统的mfc isapi 268
9.10 总结 271
9.11 mfc和internet实战指南 271
第10章 mfc和数据库 274
10.1 详细介绍数据库 279
10.2 添加更多的功能 280
10.3 添加和删除记录 280
10.4 不使用视 280
10.5 示范程序 280
10.6 研究示范程序 285
10.7 总结 285
10.8 mfc和数据库实战指南 286
第11章 多线程技术 289
11.1 线程和进程 289
11.2 线程有关问题 289
11.3 线程和mfc 290
11.4 创建一个mfc工作者线程 291
11.5 创建一个mfc用户界面线程 291
11.6 操作线程 291
11.7 了解返回值 292
11.8 线程同步 293
11.9 同步化对象的类型 293
11.10 线程的替代方法 294
11.11 示范应用程序 295
11.12 总结 300
11.13 多线程技术实战指南 300
第12章 终点 304
12.1 学无止境 305
12.2 未来的东西 305
12.3 其他资源 306
附录a 有关外壳图标处理过程 308
a.1 外壳扩展的类型 308
a.2 什么时候不使用外壳扩展 309
a.3 关于com对象 309
a.4 外壳扩展就这样结束了吗? 316
附录b mfc源代码指南 317
b.1 源代码的正确使用 317
b.2 最漫长的旅行 317
cd中的内容 329
MFC black book
- 名称
- 类型
- 大小
光盘服务联系方式: 020-38250260 客服QQ:4006604884
云图客服:
用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问
Video Player
×
Audio Player
×
pdf Player
×
亲爱的云图用户,
光盘内的文件都可以直接点击浏览哦
无需下载,在线查阅资料!
