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关系的窗口的句柄。

  • 相关阅读:
    CodeForces
    POJ1113 Wall —— 凸包
    UVA11330 Andy's Shoes —— 置换分解
    FZU2013 A short problem —— 线段树/树状数组 + 前缀和
    fzu月赛 2203 单纵大法好 二分
    codeforces 519E A and B and Lecture Rooms LCA倍增
    hdu 5459 Jesus Is Here (费波纳茨递推)
    zoj 3469 Food Delivery 区间dp + 提前计算费用
    hdu5438 Ponds dfs 2015changchun网络赛
    hdu5432 二分
  • 原文地址:https://www.cnblogs.com/zhuluqing/p/8953767.html
Copyright © 2011-2022 走看看