[转]z-order引出的问题
在窗口与窗口之间毫无重叠的情况下,根本不需要关心z-order。然而,当窗口之间出现重叠时,系统就需要通过一个标准来确定窗口的显示顺序。这个标准就是z-order。存在多个因素影响一个窗口的z-order:
1、窗口类型是否为TOPMOST;
2、窗口间的父子关
系;
3、窗口间的owner关系;
4、是否为active状态。
z-order的确定过程如下:
1、所有topmost窗口的zorder都比非topmost窗口高;
2、一个top-level窗口的zorder比它的owner的zorder高;
3、子窗口的zorder与父窗口的zorder一样高。
什么是top-level窗口?
不拥有WS_CHILD(WS_CHILDWINDOW)风格的窗口即top-level窗口。
什么是owner关系?
创建窗口时,如果没有指定WS_CHILD或者同时指定了WS_CHILD和WS_POPUP,那么创建出来的窗口和hParent之间就是一种owner关系。hParent是新窗口的owner。值得注意的是,owner关系一旦确立就无法更改。
什么是父子关系?
创建窗口时指定WS_CHILD风格或者通过SetParent建立。
父子关系与owner关系能否并存?
可以!有两种方法:在创建窗口时同时指定WS_CHILD和WS_POPUP;创建时不指定WS_CHILD,创建后通过ModifyStyle增加WS_CHILD风格,调用SetParent建立父子关系。当两个窗口间同时存在这两种关系时,owner关系被忽略。利用这个特点可以实现将一个子窗口全屏的效果。
父子关系带来的责任与义务
子窗口只能在父窗口的client区域显示、父窗口先于子窗口被创建、子窗口先于父窗口销毁、父窗口最小化或隐藏时子窗口不可见。
owner关系带来的责任与义务
owner销毁前,owned窗口会被销毁;owner窗口最小化时,owned窗口不可见。PS:owner窗口隐藏时,owned窗口依然可见。
原文地址:http://blog.csdn.net/lyclowlevel/article/details/7294980
[转]z-order引出的问题的更多相关文章
- 自定义经纬度索引(非RTree、Morton Code[z order curve]、Geohash的方式)
自定义经纬度索引(非RTree.Morton Code[z order curve].Geohash的方式) Custom Indexing for Latitude-Longitude Data 网 ...
- Z Order of Controls in Delphi VCL
Get and set the Z Order of controls at runtime in Delphi VCL. If you are looking for a FireMonkey so ...
- Z Order of Controls in Delphi FireMonkey(Tom Yu的博客)
Get and set the Z Order of controls at runtime in Delphi FireMonkey. This is a follow on to my earli ...
- Z Order(Copy From WIN32.HLP)
The Z order of a window indicates the window's position in a stack of overlapping windows. This wind ...
- 【层次查询】Hierarchical Queries之亲兄弟间的排序(ORDER SIBLINGS BY)
http://blog.itpub.net/519536/viewspace-624176 有关层次查询之前的文章参考如下. [层次查询]Hierarchical Queries之"树的遍历 ...
- Order Siblings by 排序
在层次查询中,如果想让"亲兄弟"按规矩进行升序排序就需要使用ORDER SIBLINGS BY 这个特定的排序语句,若要降序输出可以在其后添加DESC关键字. 通过这个实验给大家展 ...
- Linux内核入门到放弃-内存管理-《深入Linux内核架构》笔记
概述 内存管理的实现涵盖了许多领域: 内存中的物理内存页管理 分配大块内存的伙伴系统 分配较小内存块的slab.slub和slob分配器 分配非连续内存块的vmalloc机制 进程的地址空间 在IA- ...
- android Animation介绍
Animation介绍: 在Android SDK介绍了2种Animation模式: 1. Tween Animation:间动画,通过对场景里的对象不断做图像变换(平移.缩放.旋转)产生动画效果,即 ...
- windows消息机制详解(转载)
消息,就是指Windows发出的一个通知,告诉应用程序某个事情发生了.例如,单击鼠标.改变窗口尺寸.按下键盘上的一个键都会使Windows发送一个消息给应用程序.消息本身是作为一个记录传递给应用程序的 ...
- C#调用Win32API
Win32API.cs using System;using System.Drawing;using System.Runtime.InteropServices;using Lordal.Wi ...
随机推荐
- LightOJ::1077 -----奇妙的最大公约数
题目:http://www.lightoj.com/volume_showproblem.php?problem=1077 题意:在平面上, 给出两个点的坐标 例如:(x, y) 其中x, y 都是整 ...
- 管道寄售库存MRKO结算后,冲销问题
管道寄售库存MRKO结算后,冲销问题 1.通常使用MIRO对采购订单进行发票校验后,若发现校验错误,直接使用MR8M取消发票校验,同时手工F-03对借发票校验借方GRIR和取消发票校验的贷方GRIR进 ...
- mysql概要(九)字符集和校对集
1.mysql 字符集有细致设置: 2.mysql字符处理机制是:数据库和客户端之间存在一个字符集转换器(后文简称转换器)将客户端字符编码(必须告诉服务端的)转换成一种中间编码的数据(可自定义的但保证 ...
- python中self,cls
cls主要用在类方法定义,而self则是实例方法. self, cls 不是关键字,完全可以使用自己写的任意变量代替实现一样的效果. 普通的实例方法,第一个参数需要是self,它表示一个具体的实例本身 ...
- windows volume related concepts
Volume --- 一个volume就是一个分区. 在该“物理硬盘”上创建一个或多个分区,再创建文件系统,才可以得到一个VOLUME.此时VOLUME相对于主机是一个逻辑设备. https://m ...
- [html] Quirks Standards
[产生] Standards : 从IE6开始,引入了Standards模式 Quirks : 在IE6之前CSS还不够成熟,所以IE5等之前的浏览器对CSS的支持很差,为了兼容ie5之前的页面, ...
- Request 接收参数乱码原理解析
起因: 今天早上被同事问了一个问题:说接收到的参数是乱码,让我帮着解决一下. 实际情景: 同事负责的平台是Ext.js框架搭建的,web.config配置文件里配置了全局为“GB2312”编码: &l ...
- unicode 和 utf-8 的关系和解释
首先一个字节就是8个晶体管同时发出的信号集, unicode就是一套编码,所有的字符都用2个字节表示,不像gbk和gb2312既保持了以前的ansi/ascii的字符单个字节编码,有发明了两个字节保存 ...
- phalcon: tasks MainTask.php命令行工具
phalcon: tasks MainTask.php命令行工具 tasks MainTask.php 一般用来做计划任务,处理比较复杂的大型的数据.然后其他功能或程序才能更简单的读取这些复杂的数据. ...
- phalcon: 视图集成(内嵌模板)
当一个网站把不同的模板分割成:头部,中间区域,底部时,我们就需要在不同的[中间区域]页面引入相同的头部跟底部.引入有2种方法, 一种是:在controller中调用: $this->view-& ...