客户区和非客户区指的什么?窗口客户区和视图客户区的区别(小问题大思想)

本文通过两幅直观图片详细解释了MDI应用程序中窗口框架的客户区、非客户区及视图的客户区、非客户区的概念,并区分了工具栏的位置。有助于理解CClientDC、CWindowDC等编程概念。

1,什么是客户区/非客户区?

     2, 窗口(框架/frame)的客户区和视图(view)的客户区的区别?

这些都是初学者很容易迷惑的地方,我也是很迷惑,不过经过一番折腾终于弄明白这些问题了.对于这些问题,我想只用两个图片来说明最直观!如下:

1,在一个MDI(多文档)应用程序中每个概念如下图所标示:

 

 

效果如下图

 

 

1,窗口框架的客户区就是指图中的灰色部分:即蓝色方框内区域,框架的非客户区就是指蓝色方框之外的窗口区域,包括程序图标,标题栏,菜单,最大最小/关闭按纽,左右两个框和底下的状态条.

2,视图的客户区就是指图中绿色部分:即红色方框内的区域,视图的非客户区就是指视图部分红色方框之外的区域,包括:文件图标,标题栏,三个按纽和两个滚动条.

3,从图中可以看出,工具栏(工具条)不属于框架的非客户区,它跟视图是框架客户区内的"兄弟".它也是一个窗口,读者不妨再拖拽工具条,它还可以拖出框架窗口区域.

4,因此,以后编程中,对于CClientDC,CWindowDC,GetClientDC(),GetWindowDC()应该可以很容易就区分开了.

以上是我自己搜索资料,整理总结出来的,希望对一些人有帮助.如果有不对的地方还请指正.

5,至于在单文档中,每个概念所指的区域跟上面类似分析即可.

 

转自:http://hi.baidu.com/chenfalei/item/dc5009342206de5a81f1a7c1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值