客户区和非客户区指的什么?窗口客户区和视图客户区的区别

客户区和非客户区指的什么?窗口客户区和视图客户区的区别!
 

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

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

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

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

 

 

效果如下图

 

 

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

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

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

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

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

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

 

  GetWindowRect()   得到的是在屏幕坐标系下的RECT;(即以屏幕左上角为原点)  
  GetClientRect()   得到的是在客户区坐标系下的RECT;   (即以所在窗口左上角为原点)  
  ScreenToClient()   就是把屏幕坐标系下的RECT坐标转换为客户区坐标系下的RECT坐标。

  ClientToScreen()   和上面的刚好相反。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 基本表是数据库中存储数据的基本单位,通常由列和行组成,其中每行代表一个实体或记录,每列代表实体或记录的属性或字段。基本表中的数据可以被增删改查,通常用于存储和管理大量的结构化数据。 视图是基于一个或多个基本表的查询结果,它是一个虚拟的表,不存储数据,而是根据查询语句动态生成数据。视图可以隐藏基本表中的某些字段或行,只暴露出查询语句中指定的数据,从而更方便地访问和管理数据。 基本表和视图区别在于,基本表中存储着实际的数据,而视图不存储数据,只提供查询结果。另外,基本表的数据可以被修改,而视图的查询结果不可被直接修改。基本表是数据存储的主要形式,而视图通常被用于数据分析、数据报表和数据安全控制等场景。 基本表和视图的联系在于,视图是基于一个或多个基本表的查询结果生成的。因此,视图的数据来源于基本表,当基本表中的数据被修改时,视图的查询结果也会随之改变。视图也可以嵌套使用,即一个视图可以基于另一个视图生成,从而实现更复杂的查询操作。 ### 回答2: 基本表是指数据库中最基础的数据表格,也可以称作物理表,是由若干个字段以及这些字段所对应的数据所组成的表格。基本表的逻辑结构是关系型的,表示数据之间的关系。每一个基本表都具有唯一的表名和对应的表结构。 视图是从基本表中选择部分列和行,重新组织、过滤或聚合而得到的虚拟表。视图也是一种逻辑结构,不存储实际数据,只存储视图的定义。使用视图可以对数据进行更高级别的查询和统计,也能够简化对数据的维护和使用。 两者的区别主要在于: 1.基本表是实际存储数据的表格,而视图只是对基本表的一种表现形式。 2.基本表可以被修改或删除,而视图不允许进行修改操作,只能用于查询。 两者的联系主要在于: 1.视图的数据来源就是基本表,因此视图和基本表具有相同的字段和数据类型。 2.使用视图可以将多个基本表的数据整合在一起,提供更加复杂的数据查询和统计功能。 总之,基本表和视图都是关系型数据库中的重要组成部分。基本表是数据库中实际存储数据的表格,而视图是基于基本表重新组织、过滤或聚合得到的虚拟表。两者在数据结构、数据存储以及使用方式上都有一定的不同,但它们都是为了更好地管理和使用数据而存在的。 ### 回答3: 基本表是数据库中最基本的数据存储形式,它是一个二维表格,由若干行和若干列组成,每一行代表一个记录,每一列代表表的一个字段。基本表可以通过增、删、改、查等操作实现数据的管理。 视图是一种虚拟的表格,它是通过对基本表进行逻辑上的组合或裁剪而产生的。视图的作用在于以不同的方式呈现和访问数据库中的基本表,从而简化了对数据库的操作。视图并不实际存储数据,而是通过查询基本表并进行一系列的计算、筛选、排序等操作而构建出来的。 两者的区别: 1. 存储方式不同:基本表是实际存储数据的二维表格,而视图并不实际存储数据,只是通过对基本表的查询和操作产生的结果。 2. 数据内容不同:基本表存储实际的数据,而视图是对基本表数据的一种“虚拟”的组合或筛选,只显示满足特定条件的数据。 3. 数据完整性不同:基本表受到数据库的各种完整性约束,数据的一致性和完整性比较高,而视图由基本表构成,它可以对数据内容进行过滤或操作,因此对数据完整性要求较低。 两者的联系: 1. 视图是由基本表构成的,视图可以对基本表进行过滤、操作、计算等,通过视图可以实现对基本表的访问和管理。 2. 视图可以对基本表的数据进行优化,提供更加方便的数据展示方式,从而简化对数据库的操作。 3. 视图可以增加数据的安全性,对于一些敏感信息,可以通过视图只显示部分数据来保护数据的安全。 总之,基本表和视图是数据库中重要的概念和实体,二者不同的存储方式和数据完整性特点,具有不同的应用场景和适用性,同时二者也具有协同和互补作用,在实际的数据库设计、管理和应用开发中发挥重要的作用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值