英文单词解释
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。

    WS_CLIPCHILDREN与WS_CLIPSIBLINGS 收藏的更多相关文章

    1. WS_CLIPCHILDREN和WS_CLIPSIBLINGS的理解(转载)

      1.1 WS_CLIPCHILDREN WS_CLIPCHILDREN样式从字面上可以理解成ClipChildren,裁减子窗口. MSDN里的E文解释:Excludes the area occup ...

    2. 【MFC】如何在MFC创建的程序中更改主窗口的属性 与 父窗口 WS_CLIPCHILDREN 样式 对子窗口刷新的影响 与 窗体区域绘制问题WS_CLIPCHILDREN与WS_CLIPSIBLINGS

      如何在MFC创建的程序中更改主窗口的属性 摘自:http://blog.sina.com.cn/s/blog_4bebc4830100aq1m.html 在MFC创建的单文档界面中: (基于对话框的, ...

    3. 窗体区域绘制问题WS_CLIPCHILDREN与WS_CLIPSIBLINGS

      WS_CLIPCHILDREN,使得父窗体在绘制时留出其上的子窗体的位置不去画它,而那片区域留着子窗体去画.WS_CLIPSIBLINGS,必须用于子窗体,使得该子窗体在收到WM_PAINT时同时令其 ...

    4. 解决 WPF 嵌套的子窗口在改变窗口大小的时候闪烁的问题

      原文:解决 WPF 嵌套的子窗口在改变窗口大小的时候闪烁的问题 因为 Win32 的窗口句柄是可以跨进程传递的,所以可以用来实现跨进程 UI.不过,本文不会谈论跨进程 UI 的具体实现,只会提及其实现 ...

    5. 使用 SetParent 制作父子窗口的时候,如何设置子窗口的窗口样式以避免抢走父窗口的焦点

      原文:使用 SetParent 制作父子窗口的时候,如何设置子窗口的窗口样式以避免抢走父窗口的焦点 制作传统 Win32 程序以及 Windows Forms 程序的时候,一个用户看起来独立的窗口本就 ...

    6. TAQSkinScrollBar 类美化滚动条再讨论

      再说:TAQSkinScrollBar 类美化滚动条,http://www.138soft.com/?p=156  里面有人提到不可以滚动 滚动的改善方法: unit AQSkinScrollBar; ...

    7. 【转】窗口之间的主从关系与Z-Order

      原文链接:http://www.cnblogs.com/dhatbj/p/3288152.html 说明:这是本人2008年写的一篇旧文,从未公开发表过.其中除了一小段描述Window Mobile平 ...

    8. MFC下OpenGL入门(可以用)

      MFC下OpenGL入门 源文件 1, 建一工程文件,我这里命名为first,现在first工程里面我们没有添加任何东西,所有的东西都是MFC自动帮我们创建的. 2, 添加链接库.这一步很关键.打开菜 ...

    9. 1、基于MFC的OpenGL程序

      首先,使用的库是GLUT以及GLAUX,先下载两者,添加查找路径以及链接   一.单文本文件   工程openGLMFC 1.创建单文本文件   2.添加路径.链接 方法如之前篇章所示, 链接库为op ...

    随机推荐

    1. fckeditor使用详解

      FCKEditor是一个很好的用于Web页面中的格式化文本编译控件.现在越来越多的论坛的发帖页面中更多的使用了这个控件,我们这里将如何在基于Java的web开发中使用FCKEditor控件的步骤提供给 ...

    2. hadoop笔记之Hive的数据存储(视图)

      Hive的数据存储(视图) Hive的数据存储(视图) 视图(view) 视图是一种虚表,是一个逻辑概念:可以跨越多张表 既然视图是一种虚表,那么也就是说用操作表的方式也可以操作视图 但是视图是建立在 ...

    3. J2SE知识点摘记(十八)

      Java容器类类库的用途是“保存对象”,并将其划分为两个不同的概念: 1)  Collection . 一组对立的元素,通常这些元素都服从某种规则.List必须保持元素特定的顺序,而Set 不能有重复 ...

    4. Oracle EBS-SQL (SYS-21):sys_用户名与人员对应关系查询.sql

      select fu.user_name 用户名,         fu.description 描述,              (select ppf.FULL_NAME              ...

    5. Mongodb 安装迁移

      <pre name="code" class="python">1.下载MongoDB(64位) http://fastdl.mongodb.org ...

    6. 奇怪的问题:android:focusable和android:clickable造成ListView的点击不了

      今天花了我很长时间,才解决一个很奇怪的问题,就是在ListView的点击反应不了的问题…… 在ListView中,如果其中一个元素设置为android:focusable="true&quo ...

    7. Http静态资源的缓存

      最近一段时间一直在研究页面缓存和压缩方面的东西,由于公司服务器使用的是iis6.0,很多性能方面的优化都不支持.所以,就开始尝试着自己写个简单的处理程序. 为了减少服务器带宽的需求,我们要减少客户端与 ...

    8. 网易云课堂_C语言程序设计进阶_第6周:程序结构

      6.1 全局变量 6.2 编译预处理 6.3 大程序结构 6.1 全局变量 全局变量 定义在函数外面的变量是全局变量 全局变量具有全局的生存期和作用域 它们与任何函数都无关 在任何函数内部都可以使用它 ...

    9. 微信获取用户数据后台写法,author2.0认证

      /* 微信授权接口 */ //1.设置路由 router.get('/wechat/userinfo', function(req, res) { var cb = req.query.cb; //设 ...

    10. 关于SYN洪泛攻击简介

      在TCP三次握手中,server为了响应一个收到的SYN.分配并初始化连续变量和缓存.然后server发送一个SYNACK进行响应,并等待来自客户的ACK报文段. 假设某客户不发送ACK来完毕该三次握 ...