MFC窗口程序设计PDF电子书下载
- 电子书积分:15 积分如何计算积分?
- 作 者:姚领田,高守传等编著
- 出 版 社:北京:中国水利水电出版社
- 出版年份:2007
- ISBN:7508446062
- 页数:458 页
第1章 Windows窗口与CWnd对象 1
1.1 窗口和CWnd对象 1
1.2 窗口与CWnd对象的映射关系 1
1.2.1 句柄的概念 1
1.2.2 句柄映射机制 2
1.2.3 关联窗口对象与CWnd类对象 6
1.2.4 从窗口对象获取CWnd类对象 9
1.2.5 解除窗口对象与CWnd类对象的关联 11
1.2.6 临时映射对象的清除 13
1.3 窗口的创建 15
1.3.1 传统的Windows程序设计中的窗口类注册 15
1.3.2 MFC应用的窗口类注册 16
1.3.3 SDI中的窗口创建顺序 21
1.4 窗口的销毁 22
1.4.1 Windows和应用的交互 22
1.4.2 使用CWnd::PostNcDestroy自动销毁 22
1.4.3 销毁窗口对象总结 23
1.5 窗口的编程内容 24
1.5.1 窗口消息传递过程 24
1.5.2 消息映射 26
1.5.3 绘制窗口 26
1.5.4 窗口的设备环境 27
1.6 绘制窗口类CDrawManager 29
1.6.1 CDrawManager成员简介 29
1.6.2 绘制原理 30
1.7 小结 34
第2章 CWnd类综述 35
2.1 CWnd类基础 35
2.2 CWnd类成员函数简介 35
2.2.1 CWnd类成员函数分类 35
2.2.2 构造析构成员函数 36
2.2.3 初始化成员函数 37
2.2.4 对话框项成员函数 39
2.2.5 处理初始化消息的成员函数 41
2.2.6 窗口状态成员函数 42
2.2.7 处理系统消息的成员函数 43
2.2.8 窗口大小和位置有关的成员函数 45
2.2.9 菜单成员函数 48
2.2.10 处理一般消息的成员函数 48
2.2.11 访问窗口的成员函数 55
2.2.12 工具提示成员函数 59
2.2.13 处理控件消息的成员函数 60
2.2.14 处理更新/绘制的成员函数 62
2.2.15 处理输入消息的成员函数 66
2.2.16 处理坐标映射的成员函数 67
2.2.17 处理非客户区消息的成员函数 68
2.2.18 处理窗口文本的成员函数 70
2.2.19 处理窗口消息的成员函数 71
2.2.20 处理滚动的成员函数 72
2.2.21 剪贴板成员函数 73
2.2.22 剪贴板消息处理函数 74
2.2.23 可重载的成员函数 75
2.2.24 脱字符成员函数 77
2.2.25 其他 78
2.3 CWnd派生类 80
2.3.1 框架窗口类 80
2.3.2 视图类 81
2.3.3 对话框类 82
2.3.4 控件类 83
2.3.5 控制条类 85
2.3.6 属性表类 85
2.4 编程实例 85
2.4.1 创建工程 85
2.4.2 添加代码 86
2.5 小结 88
第3章 框架窗口 89
3.1 CFrameWnd成员一览 89
3.1.1 CFrameWnd类数据成员 89
3.1.2 CFrameWnd类构造函数 89
3.1.3 CFrameWnd类初始化函数 90
3.1.4 CFrameWnd类操作函数 91
3.1.5 CFrameWnd类可重载函数 93
3.1.6 CFrameWnd类命令处理函数 94
3.2 SDI框架窗口的创建过程 94
3.2.1 框架窗口的创建 94
3.2.2 使用LoadFrame创建框架窗口 95
3.2.3 使用AfxEndDeferRegisterClass注册窗口类 96
3.2.4 使用GetIconWndClass获取窗口类 97
3.2.5 使用PreCreateWindow注册窗口类 98
3.2.6 使用CFrameWnd::Create创建框架窗口 99
3.2.7 框架窗口子窗口的初始化 101
3.3 SDI框架窗口的销毁 104
3.3.1 响应WM_CLOSE消息 104
3.3.2 销毁Windows窗口对象 106
3.3.3 销毁C++对象 107
3.4 SDI框架窗口对命令消息及控件通知的处理 108
3.4.1 命令消息 108
3.4.2 控件通知 108
3.4.3 框架对WM_COMMAND的处理 109
3.4.4 框架对WM_NOTIFY的处理 114
3.5 MDI框架窗口的创建及销毁 114
3.5.1 SDI与MDI的主要区别 115
3.5.2 主MDI框架窗口的创建 115
3.5.3 MDI客户窗口及其创建 116
3.5.4 MDI子框架窗口的创建 118
3.5.5 框架窗口与MDI客户窗口之间的关系 120
3.5.6 MDI框架窗口的销毁 121
3.6 MDI框架窗口对命令消息的处理 121
3.6.1 主MDI框架窗口的命令处理 121
3.6.2 主MDI框架窗口的命令分发 122
3.6.3 MDI框架窗口的窗口过程 123
3.7 框架窗口的更新机制 124
3.7.1 命令UI类 124
3.7.2 用于更新操作的成员CCmdUI::DoUpdate 125
3.8 框架窗口的客户区管理机制 126
3.9 小结 127
第4章 文档—视图窗口 129
4.1 文档—视图模型 129
4.1.1 文档—视图模型简介 129
4.1.2 文档—视图类 130
4.1.3 CView的派生类 130
4.1.4 创建工程 131
4.2 文档—视图重要成员 131
4.2.1 文档成员 131
4.2.2 视图成员 133
4.3 对象的创建 135
4.3.1 创建模板对象 135
4.3.2 创建文档对象 136
4.3.3 创建框架对象 139
4.3.4 创建视图对象 140
4.3.5 各对象间的关系 143
4.4 文档—视图的初始化和清除 145
4.4.1 初始化和清除的时机 145
4.4.2 初始化和清除的过程 146
4.5 命令消息在视图窗口中的分发过程 146
4.5.1 视图窗口对命令消息的处理 146
4.5.2 文档类对命令消息的处理 147
4.5.3 命令消息的处理函数的调用过程 148
4.6 视图窗口的使用 150
4.6.1 在视图中绘制 150
4.6.2 通过视图解释用户输入 151
4.6.3 多视图窗口 151
4.7 定制控件视图 152
4.7.1 指导思想 152
4.7.2 具体实现 152
4.8 编程实例 153
4.8.1 资源编辑 154
4.8.2 为工程添加新类 154
4.8.3 主框架实现 155
4.8.4 列表视图实现 158
4.8.5 表单视图实现 159
4.8.6 地址栏实现 161
4.9 小结 163
第5章 分割窗口 164
5.1 窗口分割 164
5.2 CSplitterWnd类 165
5.2.1 CSplitterWnd类成员一览 165
5.2.2 创建动态分割窗口 167
5.2.3 创建静态分割窗口 170
5.2.4 创建分割窗口的窗格 171
5.2.5 设置窗格信息 173
5.2.6 绘制分割窗口的组件 174
5.2.7 绘制拖动分割条 176
5.3 分割窗口中的通信机制 177
5.3.1 有文档相连的视图之间的通信 178
5.3.2 无文档视图与文档关联视图之间的通信 178
5.3.3 无文档关联视图之间的通信 178
5.3.4 任意视图之间的通信 179
5.4 分割窗口中的命令路由 179
5.4.1 通过文档对象路由视图窗口 179
5.4.2 通过分割窗口路由视图窗口 180
5.4.3 通用路由方法 181
5.5 编程实例 181
5.5.1 工程的创建 181
5.5.2 分割窗口的创建 182
5.5.3 自定义分割窗口类CSplitterWndEx 184
5.5.4 位图信息窗格 189
5.5.5 原始位图窗格 196
5.5.6 处理后位图窗格 197
5.6 位图类 199
5.6.1 位图 199
5.6.2 位图类 199
5.7 小结 202
第6章 控制栏窗口 203
6.1 控制栏综述 203
6.1.1 控制栏简介 203
6.1.2 CControlBar类成员 203
6.1.3 控制栏布局算法 206
6.1.4 控制栏对消息的处理 209
6.1.5 布局算法应用实例 214
6.2 对话条窗口 215
6.2.1 工程的创建 215
6.2.2 对话条窗口的创建 216
6.2.3 对话条窗口的UI对象更新 219
6.2.4 接收来自主菜单或工具栏的命令消息 219
6.2.5 对话条实例分析 220
6.3 伸缩栏窗口 222
6.3.1 类CReBar和CReBarCtrl 223
6.3.2 CReBar成员介绍 223
6.3.3 在Rebar控件中使用对话条 224
6.3.4 伸缩栏的UI对象更新 225
6.3.5 伸缩栏实例分析 225
6.4 工具栏窗口 226
6.4.1 工具栏窗口简介 226
6.4.2 工具栏成员一览 227
6.4.3 工具栏窗口的创建 227
6.4.4 在工具栏中使用图像列表 230
6.4.5 在工具栏中使用下拉按钮 230
6.4.6 工具栏窗口的UI对象更新 232
6.4.7 在工具栏上显示文本 233
6.4.8 在工具栏上创建控件 235
6.4.9 工具栏热点按钮的切换 239
6.5 状态栏窗口 239
6.5.1 状态栏窗口简介 240
6.5.2 状态栏成员一览 240
6.5.3 状态栏窗口的创建 241
6.5.4 为状态栏添加窗格 242
6.5.5 状态栏窗口的UI对象更新 243
6.5.6 在状态栏上创建控件 244
6.5.7 状态栏中的消息响应 246
6.5.8 改变状态栏的大小 247
6.6 主框架对控制栏的控制 248
6.6.1 工具箱的显隐 248
6.6.2 工具箱的布局 248
6.6.3 工具箱和对话条的通信 249
6.7 小结 250
第7章 对话框 251
7.1 对话框及MFC相关类 251
7.1.1 对话框与CDialog类 251
7.1.2 工程的创建 252
7.2 模态对话框 254
7.2.1 添加对话框及其类 254
7.2.2 创建模态对话框 256
7.2.3 模态对话框消息循环 264
7.2.4 模态的终结 268
7.3 非模态对话框 270
7.3.1 添加对话框及其类 270
7.3.2 创建非模态对话框 271
7.3.3 模态对话框与非模态对话框的区别 273
7.4 对话框数据交换和验证 273
7.4.1 CDataExchange类简介 273
7.4.2 数据交换和验证 274
7.5 对话框中更新机制的实现 277
7.5.1 CWnd::UpdateDialogControls成员 278
7.5.2 使用WM_KICKIDLE钩子实现UI更新 280
7.5.3 在模态检测ContinueModal中实现UI更新 281
7.5.4 按钮和编辑控件更新的实现 281
7.6 对话框背景及背景透明的控件 282
7.6.1 设置对话框的背景颜色 283
7.6.2 设置对话框背景位图 283
7.6.3 绘制对话框背景 285
7.6.4 对话框控件透明背景的实现 287
7.6.5 MFC处理对话框及其控件颜色和背景的实现 288
7.7 为对话框添加工具栏 289
7.7.1 创建工具栏 290
7.7.2 为工具栏添加提示信息 290
7.7.3 控制工具栏的显隐状态 292
7.8 为对话框添加状态栏 292
7.8.1 创建状态栏 293
7.8.2 设置状态栏窗格信息 293
7.8.3 控制状态栏的显隐状态 296
7.8.4 状态栏中系统时间的更新方法 296
7.9 为对话框添加菜单 297
7.10 对话框中特定键的处理 298
7.11 对话框扩展与收缩 300
7.12 控件在对话框中的应用 302
7.12.1 “关于”对话框的滚动字幕控件 302
7.12.2 显示Gif图片的控件 302
7.13 其他实现 303
7.14 小结 303
第8章 属性表窗口 304
8.1 属性表相关类 304
8.2 属性表类 304
8.2.1 属性表类简介 304
8.2.2 属性表类成员 305
8.3 属性页类 309
8.3.1 属性页类简介 309
8.3.2 重要成员函数介绍 310
8.4 创建属性表 312
8.4.1 创建模态属性表 313
8.4.2 创建非模态属性表 313
8.5 处理“应用”按钮 314
8.5.1 属性表处理 314
8.5.2 属性页处理 315
8.6 在对话框中使用属性表 316
8.6.1 工程的创建 316
8.6.2 工程资源的添加 318
8.6.3 属性表类实现 319
8.6.4 “一般信息”页编程 319
8.6.5 “类信息”页编程 325
8.6.6 主对话框窗口编程 326
8.7 树形属性表的实现 332
8.7.1 工程的创建 333
8.7.2 CPropPageFrame类 334
8.7.3 CTreePropSheet类 334
8.7.4 属性表“应用”按钮的编程 335
8.7.5 属性页编程 336
8.7.6 属性表接口编程 336
8.8 扩展属性表类——CTreePropSheet 338
8.8.1 属性表的初始化 338
8.8.2 树形控件中属性页项的创建和填充 342
8.8.3 结束当前属性页 345
8.8.4 响应树形控件中属性页项的变化 346
8.8.5 更新属性页的标题 347
8.9 小结 349
第9章 控件窗口 350
9.1 控件窗口 350
9.1.1 控件窗口的创建 352
9.1.2 派生公共控件窗口 353
9.2 动画控件 354
9.2.1 CAnimateCtrl类 354
9.2.2 动画控件的使用 355
9.2.3 动画控件的局限 357
9.3 按钮控件 358
9.3.1 按钮控件的风格类型 358
9.3.2 CButton类 358
9.3.3 CBitmapButton类 360
9.3.4 按钮控件的通知消息 360
9.4 组合框/扩展组合框控件 361
9.4.1 组合框/扩展组合框的风格类型 361
9.4.2 CcomboBox类 362
9.4.3 CComboBoxEx类 366
9.4.4 扩展组合框与图像列表 367
9.5 时间提取器/月历控件 368
9.5.1 时间提取器/月历控件的风格类型 368
9.5.2 CDateTimeCtrl类 369
9.5.3 CMonthCalCtrl类 371
9.6 图像列表控件 373
9.6.1 CImageList类 373
9.6.2 图像列表的类型 374
9.6.3 图像列表的编程 374
9.7 编辑控件/静态控件 375
9.7.1 编辑控件/静态控件的风格类型 376
9.7.2 CEdit类 377
9.7.3 CStatic类 379
9.8 Rich Edit控件 381
9.8.1 Rich Edit控件基础 381
9.8.2 CRichEditCtrl类 381
9.8.3 Rich Edit控件实例 384
9.9 列表框/进度条控件 388
9.9.1 列表框/进度条控件的风格类型 389
9.9.2 CListBox类 390
9.9.3 CProgressCtrl类 392
9.9.4 编程实例 393
9.10 滑块/调节钮控件 394
9.10.1 滑块/调节钮控件的风格类型 394
9.10.2 CSliderCtrl类 395
9.10.3 CSpinButtonCtrl类 397
9.11 滚动条控件 399
9.11.1 滚动条控件的风格类型 399
9.11.2 CScrollBar类 400
9.12 列表/表头控件 401
9.12.1 列表/表头控件的风格类型 402
9.12.2 CListCtrl类 404
9.12.3 CHeaderCtrl类 412
9.13 树形控件 416
9.13.1 树形控件的风格类型 416
9.13.2 CTreeCtrl类 416
9.14 标签/IP控件 423
9.14.1 标签控件的风格类型 423
9.14.2 CTabCtrl类 424
9.14.3 CIPAddressCtrl类 428
9.15 小结 429
第10章 程序调试 430
10.1 基础知识 430
10.1.1 基本概念 432
10.1.2 Debug版本调试环境配置 432
10.1.3 Release版本调试环境配置 433
10.2 设置/取消断点 433
10.2.1 位置断点的设置 434
10.2.2 数据断点的设置 436
10.2.3 消息断点的设置 439
10.2.4 断点的取消 439
10.3 跟踪程序执行 440
10.4 状态查看工具 440
10.4.1 变量窗口 441
10.4.2 查看窗口 441
10.4.3 寄存器窗口 442
10.4.4 内存窗口 442
10.4.5 调用堆栈 442
10.4.6 反汇编窗口 443
10.4.7 调试信息泡泡窗口 444
10.4.8 快速查看变量窗口 444
10.5 调试宏与函数 445
10.5.1 断言宏 445
10.5.2 跟踪宏 446
10.5.3 打印对象 447
10.6 小结 448
附录 SDI应用的消息循环 449
A.1 主循环过程 449
A.2 空闲处理 451
A.3 消息的处理 453
A.3.1 消息的获取与分发 453
A.3.2 消息的预处理 454
A.3.3 空闲处理状态的维护 455
A.4 结束主循环 456
参考文献 458
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《设计十六日 国内外美术院校报考攻略》沈海泯著 2018
- 《计算机辅助平面设计》吴轶博主编 2019
- 《高校转型发展系列教材 素描基础与设计》施猛责任编辑;(中国)魏伏一,徐红 2019
- 《景观艺术设计》林春水,马俊 2019
- 《程序逻辑及C语言编程》卢卫中,杨丽芳主编 2019
- 《高等教育双机械基础课程系列教材 高等学校教材 机械设计课程设计手册 第5版》吴宗泽,罗圣国,高志,李威 2018
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《Cinema 4D电商美工与视觉设计案例教程》樊斌 2019
- 《通信电子电路原理及仿真设计》叶建芳 2019
- 《市政工程基础》杨岚编著 2009
- 《家畜百宝 猪、牛、羊、鸡的综合利用》山西省商业厅组织技术处编著 1959
- 《《道德经》200句》崇贤书院编著 2018
- 《高级英语阅读与听说教程》刘秀梅编著 2019
- 《计算机网络与通信基础》谢雨飞,田启川编著 2019
- 《看图自学吉他弹唱教程》陈飞编著 2019
- 《法语词汇认知联想记忆法》刘莲编著 2020
- 《培智学校义务教育实验教科书教师教学用书 生活适应 二年级 上》人民教育出版社,课程教材研究所,特殊教育课程教材研究中心编著 2019
- 《国家社科基金项目申报规范 技巧与案例 第3版 2020》文传浩,夏宇编著 2019
- 《流体力学》张扬军,彭杰,诸葛伟林编著 2019
- 《中国当代乡土小说文库 本乡本土》(中国)刘玉堂 2019
- 《异质性条件下技术创新最优市场结构研究 以中国高技术产业为例》千慧雄 2019
- 《中国铁路人 第三届现实主义网络文学征文大赛一等奖》恒传录著 2019
- 《莼江曲谱 2 中国昆曲博物馆藏稀见昆剧手抄曲谱汇编之一》郭腊梅主编;孙伊婷副主编;孙文明,孙伊婷编委;中国昆曲博物馆编 2018
- 《中国制造业绿色供应链发展研究报告》中国电子信息产业发展研究院 2019
- 《中央财政支持提升专业服务产业发展能力项目水利工程专业课程建设成果 设施农业工程技术》赵英编 2018
- 《中国陈设艺术史》赵囡囡著 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《《走近科学》精选丛书 中国UFO悬案调查》郭之文 2019
- 《清至民国中国西北戏剧经典唱段汇辑 第8卷》孔令纪 2018