zoukankan      html  css  js  c++  java
  • 窗口与窗口之间的关系

    参考文章:http://www.cnblogs.com/dhatbj/p/3288152.html

    一、桌面窗口:

    DesktipWindow,是所有窗口的父窗口,通过hwnd=::GetDesktopWindow()获取。

    二、窗口样式:

    只有三种窗口:重叠窗口(WS_OVERLAPPED)、弹出窗口(WS_POP)、子窗口(WS_CHILD,其中弹出窗口不能是子窗口)。

    重叠窗口和弹出窗口统称为顶层窗口。

    因此窗口样式再次分为:顶层窗口和子窗口。

    可以这么说

    三、topmost窗口:

    topmost窗口是具有WS_EX_TOPMOST风格的窗口,是窗口的一种扩展风格,topmost窗口只能是顶层窗口,不能是子窗口

    具有topmost风格的窗口的顶层窗口的Z-ORDER比不具有该风格的要小,显示在前面。

    四、Z-Order:

    z-order在前(小)的窗口先显示出来,先显示出来的窗口会被后显示出来的窗口覆盖。

    每个父窗口都有一个链表,用于保存子窗口,该链表保存子窗口的前后顺序就是该子窗口的z_order的顺序。z_order在前(z_order小)的窗口先显示出来

    对于顶层窗口,z_order在前的窗口显示在最前面,因为顶层窗口默认强制加了WS_CLIPSIBLINGS风格,导致后面刷新的窗口被覆盖的地方不刷新,使得z_order在前的窗口显示在最前面

    对于子窗口,情况与顶层窗口相反,z_order在前的窗口被在后的窗口覆盖。因为它默认没有添加WS_CLIPSIBLINGS风格。

    而子窗口的z_order比父窗口的z_order要大,因为只有父窗口显示出来了才能显示子窗口,子窗口在后面显示表示它的z_order要大。

    HWND hwnd=::GetWindow(hWnd_rel,flag)用于获取对hWnd_rel有flag关系的窗口的句柄。

  • 相关阅读:
    2-SAT( tarjan应用 )
    字节流和字符流
    linux 安装kafka
    网络编程入门
    Java代码中的魔法值
    动态SQL
    update语句的返回值是什么
    dual表
    diy diy diy台式机走起
    js数组赋值,改变其中一个,另一个数组也会改变(vue中数据绑定)
  • 原文地址:https://www.cnblogs.com/zhuluqing/p/8953767.html
Copyright © 2011-2022 走看看