WS_CLIPCHILDREN与WS_CLIPSIBLINGS 收藏

英文单词解释
clip:夹子、子弹夹、回形针;夹住,修剪
sibling:同胞兄弟或姐妹
overlapped:重叠

这两个Window Stype的特性与异同素来不太清楚,今日作一笔记:
MSDN的解释为:
WS_CLIPCHILDREN   Excludes the area occupied by child windows when you draw within the parent window. Used when you create the parent window.

WS_CLIPSIBLINGS   Clips child windows relative to each other; that is, when a particular child window receives a paint message, the WS_CLIPSIBLINGS style clips all other overlapped child windows out of the region of the child window to be updated. (If WS_CLIPSIBLINGS is not given and child windows overlap, when you draw within the client area of a child window, it is possible to draw within the client area of a neighboring child window.) For use with the WS_CHILD style only. 

此处另有一文的解释为:
 

JohnCz

06-27-2006, 09:40 PM

It is not a property per se.
WS_xxx are Window styles. Both clip of area of other window when window overlaps another window.
Clip sibling for example will cause MDI child window to paint itself over another child window (sibling) when overlapped. The same will happen 

WS_CLIPCHILDREN will do exactly the same when parent overlaps child window.

综上所述
WS_CLIPCHILDREN,使得父窗体在绘制时留出其上的子窗体的位置不去画它,而那片区域留着子窗体去画。
WS_CLIPSIBLING,必须用于子窗体,使得该子窗体在收到WM_PAINT时同时令其共父的诸多子窗体(MSDN讲必须不在该区域,即不与之重叠)也会被PAINT。

//下面也是对WS_CLIPSIBLINGS的理解
所有的overlapped窗口和popup窗口,都有WS_CLIPSIBLINGS 属性,
这些窗口不能在它的sibling窗口上绘图

对于child窗口,如果没有这个属性,它能在它的sibling窗口上绘图

                 +-----------+
                  |A             |
                  |   +--------+-------
                  |   |            |     B |
                  |   |  C        |        |
                 +---+-------+       |
                      |                    |
                      +---------------+
如果A, B都是child窗口,
如果A具有WS_CLIPSIBLINGS属性,
那么A重绘时不会重绘C部分

clip是裁减,去除的意思 相当与英文的Exclude

个人理解:WS_CLIPCHILDREN和WS_CLIPSIBLING都是为了减少重画,减少闪动,保证窗口的重叠部分只有一个窗口来实现PAINT。

时间: 2024-09-12 02:30:08

WS_CLIPCHILDREN与WS_CLIPSIBLINGS 收藏的相关文章

Win 95/NT下OpenGL编程原理

----科学计算可视化,计算机动画和虚拟现实是现在计算机图形学的三个热点.而这三个热点的核心都是三维真实感图形的绘制.由于OpenGL(OpenGraphicsLibrary)具有跨平台性.简便.高效.功能完善,目前已经成为了三维图形制作方法中事实上的工业标准.自从WindowsNT3.51在微机平台上支持OpenGL以后,现在微软公司在Windows95OSR2.WindowsNT4.0中连续性的提供OpenGL开发环境.VisualC++从4.2版本以后已经完全支持OpenGL API,使三

解决win7系统无法将网页添加到收藏夹的方法

  许多用户在访问网站时,如果看到自己感兴趣的网页内容或网站,通常我们都会通过Ctrl+D添加到收藏夹中,但近期有部分win7系统用户,在浏览器下添加网页收藏时,却发现无法将网页添加到收藏夹,对于这一问题我们如何解决呢?下面看小编为大家提供的详细解决方法吧! 原因分析: 很多时候网址不能收藏都是由于收藏夹目录指向错误引起的,我们可以到注册表里将其修复. 操作方法: 1.在开始菜单中点击"运行",然后输入"regedit"并且回车; 2.打开注册表编辑器,依次展开[H

win7系统IE浏览器收藏夹无法收藏网页怎么办

    win7系统IE浏览器收藏夹无法收藏网页怎么办 具体步骤如下: 1.按下"Win+R"组合键打开运行,输入"regedit"点击确定打开注册表编辑器; 2.在注册表左侧展开:HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/Explorer/UserShell Folders ; 3.在右双击打开"Favorites",将其数值数据修改为"%USERPROFI

如何解决win7旗舰版系统下IE收藏夹无法展开的问题

近期朋友在电脑的操作过程中遇到这样一个问题,计算机中的收藏夹突然无法正常展开了,遇到这样的问题令人十分的懊恼.经过多番的研究及测试之后,总算找到了解决计算机中收藏夹无法展开问题的方法.下面就一起来分享看看如何解决win7旗舰版系统计算机中收藏夹无法展开问题吧! 操作方法: 1.使用快捷键win键+r键打开运行窗口,在运行窗口中输入"regedit"回车确认,打开注册表编辑器. 打开注册表编辑器 2.在打开的注册表编辑器中,依次展开到HKEY_CLASSES_ROOTlnkfile. 展

电脑中通过修改注册表解决网页无法添加到收藏夹的方法

  电脑中通过修改注册表解决网页无法添加到收藏夹的方法.最近有不少用户反映在电脑中出现了无法添加网页到收藏夹的问题,尝试了各种方法都无法解决这个问题.对此,在接下来的内容中,小编为大家提供了一种通过修改注册表解决网页无法添加到收藏夹的方法,大家可以参考一下. 1.按Win+R打开运行,输入regedit并按回车键; 2.在注册表编辑器依次展开HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/Explorer/UserShell

win7系统将Google浏览器收藏夹拉到桌面成快捷方式的方法

  win7系统将Google浏览器收藏夹拉到桌面成快捷方式的方法 具体方法如下: 1.在进行演示之后,需要在浏览器中进行添加的是收藏的夹的内容,进行点击地址栏中点击收藏夹按钮; 2.可以看到的网页地址被收藏夹收藏起来了; 3.然后点击点击浏览器中的地址中的更多的菜单中,弹出了下拉菜单中进行选择为"书签"; 4.就会弹出了下一级菜单中进行选择为了刚才你收藏的收藏夹的地址; 5.把收藏夹地址进行拖动到自己桌面中当中; 6.可以看到的是百度一下的收藏夹快捷方式创建成功了.下次就可以直接双击

IE8中显示“收藏夹栏”为灰色无法点击开启

  浏览器的收藏夹是我们平时用到的最多功能之一,为了更方便的打开收藏夹中的网页,在IE8浏览器下,我们可以在工具栏的空白处单击右键,然后选择"收藏夹栏"即可在工具栏上显示收藏网页.但是在IE8中可能会遇到"收藏夹栏"无法点击勾选的情况,故障如下: 解决方案: 若此问题出现在Win7系统中可通过修改组策略来解决问题. 提示:更改注册表设置有一定危险,可能会造成系统瘫痪,建议在进行操作之前,先对注册表进行备份 按下 Windows + R 键打开"运行&quo

如何利用Win7文件库收藏重要文件

  随着文件数量和种类的增多,再加上工作需要和使用习惯的不确定性,文件变得越来越混乱,文件夹结构越来越复杂,重复文件也越来越多,而真正要用到某个文件时却怎么也找不到了.而现在到了Win7系统时代能不能解决我们这方面的困扰呢?答案当然是肯定的,只要利用Windows7的文件库功能轻松就能应对. 简单地讲,Windows 7文件库就是能将我们需要的文件和文件夹统统集中到一起管理,就如同网页收藏夹一样,只要单击库中的链接,就能快速打开添加到Win7库中的文件夹,不需要关注这个文件存放的具体位置.另外,

搜狗高速浏览器添加收藏(添加收藏,导入其他收藏)

  方法一:如下图所示,点击地址栏右侧的"小星星"图标可以提示添加收藏; 方法二:对于习惯点击收藏栏左侧的收藏图标的用户,也还可以继续点击收藏图标进行添加收藏.