MFC中客户区和非客户区概念的图示
2014-07-25 17:37
120 查看
本文转载自:http://hi.baidu.com/chenfalei/blog/item/da8440fb331f0767024f56e5.html
问题:
什么是客户区/非客户区?
窗口(框架/frame)的客户区和视图(view)的客户区的区别?
这些都是初学者很容易迷惑的地方,我也是很迷惑,不过经过一番折腾终于弄明白这些问题了。
对于这些问题,我想只用两个图片来说明最直观!如下:
1。在一个MDI(多文档)应用程序中每个概念如下图所标示:
![](http://pic002.cnblogs.com/images/2011/324979/2011082109304966.jpg)
![](http://pic002.cnblogs.com/images/2011/324979/2011082109314928.jpg)
窗口框架的客户区就是指图中的灰色部分:即蓝色方框内区域,框架的非客户区就是指蓝色方框之外的窗口区域,包括程序图标,标题栏,菜单,最大最小/关闭按纽,左右两个框和底下的状态条.
视图的客户区就是指图中绿色部分:即红色方框内的区域,视图的非客户区就是指视图部分红色方框之外的区域,包括:文件图标,标题栏,三个按纽和两个滚动条.
从图中可以看出,工具栏(工具条)不属于框架的非客户区,它跟视图是框架客户区内的"兄弟".它也是一个窗口,读者不妨再拖拽工具条,它还可以拖出框架窗口区域.
因此,以后编程中,对于CClientDC,CWindowDC,GetClientDC(),GetWindowDC()应该可以很容易就区分开了.
5,至于在单文档中,每个概念所指的区域跟上面类似分析即可.
问题:
什么是客户区/非客户区?
窗口(框架/frame)的客户区和视图(view)的客户区的区别?
这些都是初学者很容易迷惑的地方,我也是很迷惑,不过经过一番折腾终于弄明白这些问题了。
对于这些问题,我想只用两个图片来说明最直观!如下:
1。在一个MDI(多文档)应用程序中每个概念如下图所标示:
![](http://pic002.cnblogs.com/images/2011/324979/2011082109304966.jpg)
![](http://pic002.cnblogs.com/images/2011/324979/2011082109314928.jpg)
窗口框架的客户区就是指图中的灰色部分:即蓝色方框内区域,框架的非客户区就是指蓝色方框之外的窗口区域,包括程序图标,标题栏,菜单,最大最小/关闭按纽,左右两个框和底下的状态条.
视图的客户区就是指图中绿色部分:即红色方框内的区域,视图的非客户区就是指视图部分红色方框之外的区域,包括:文件图标,标题栏,三个按纽和两个滚动条.
从图中可以看出,工具栏(工具条)不属于框架的非客户区,它跟视图是框架客户区内的"兄弟".它也是一个窗口,读者不妨再拖拽工具条,它还可以拖出框架窗口区域.
因此,以后编程中,对于CClientDC,CWindowDC,GetClientDC(),GetWindowDC()应该可以很容易就区分开了.
5,至于在单文档中,每个概念所指的区域跟上面类似分析即可.
相关文章推荐
- MFC中客户区和非客户区概念的图示
- MFC中客户区和非客户区概念的图示
- 基于MFC,在非客户区与客户区利用CButon类创建button
- 基于MFC,在非客户区与客户区利用CButon类创建button
- MFC中客户区和非客户区的区别&OnPaint和OnDrawn的区别
- MFC修改窗口客户区颜色
- 初识概念:Windows编程:VC++下的MFC与SDK区别(差别)详细阐述
- MFC 拖动客户区
- mfc在单文档客户区添加控件
- MFC一路走来------路径层概念的理解
- MFC窗口客户区全屏显示以及PICTURE控件全屏显示
- 客户区和非客户区指的什么?窗口客户区和视图客户区的区别(小问题大思想)
- 客户区和非客户区指的什么?窗口客户区和视图客户区的区别!
- 客户相关概念介绍
- 客户区和非客户区指的什么?窗口客户区和视图客户区的区别
- MFC基本概念理解
- MFC窗口客户区全屏显示以及PICTURE控件全屏显示
- (MFC实现)TCP服务器设计 - 每个客户连接对应一个线程
- 【编程语言】MFC--删除字符后,光标还留在客户区那里
- 初学MFC应该搞懂对话框、控件、控件ID、消息等概念和他们的关系