关于Z-Order和子窗口链表的对应关系

关于Z-Order有一种表述:“窗口在子窗口链中的先后顺序也就是窗口在屏幕上显示时的前后顺序,在子窗口链里位置越靠前的窗口显示时也越靠前,这个前后顺序就是Z-Order。”
一、“窗口在子窗口链中的先后顺序....”中,这个所谓先后顺序指的是什么呢?是不是说从子窗口链表头开始,根据子窗口创建的先后顺序,先创建的子窗口放在靠近子窗口链表头的位置,后创建的窗口放在子窗口链表尾?
二、“也就是窗口在屏幕上显示时的前后顺序”这句话中的“...前后顺序”,所谓的“前”是离我们眼睛最近的那个窗口吗?

还有一种表述,Z-Order是垂直于屏幕向外延伸的Z轴,向外为Z轴的正方向,Z次序最上面(也就是Z序最大)的窗口覆盖所有其他窗口, Z次序最底层的窗口被其他所有窗口覆盖。

这个说法 与子窗口链表 对应起来的话,是不是链表头指向屏幕里,链表尾指向屏幕外?就像箭射到靶上的状态,靶是屏幕,“箭头”是子窗口链表头,“箭尾”是子窗口链表尾?

2个回答

这两个说法都对,是一样的。
一个从内部存储的角度说,一个从外观的角度来说。z-order本质上就是一种窗口遮挡的顺序。

weili82830
weili82830 能否按照我上面那些问题 一一确定一下我的理解是否正确呢,因为我对这些概念现在还不怎么清晰,对应不起来。
5 年多之前 回复

这两种都是为了把一个技术实现用相对浅显的语言描述出来,让你好理解。
你只要记住窗口显示的层次关系就是按这个z-order来的,每个窗口还可以自己设置自己的z-order值从而达到修改窗口显示层次的目的

weili82830
weili82830 能否按照我上面那些问题 一一确定一下我的理解是否正确呢,因为我对这些概念现在还不怎么清晰,对应不起来。
5 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问