zorder的使用
zorder 拆开以后就是 z 及 order,其意义说明如下:
z:这里是指三度空间中的 z 座标轴 (注一),而不是指英文字母的第 26 个字母。
order:排列顺序。
所以 zorder 就是指在 z 座标轴上的排列顺序!
zorder 语法如下:
object.zorder position
---------------------------------------------------------------------------
object 选择性引数。物件运算式,用来指定「适用于」清单中的物件。
如果省略 object,则假设具有驻点的 form 物件为 object。
position 选择性引数。整数,用以指示 object 相对于同一 object 其它执行个体的位置。
如果 position 为 0 或省略,则 object 放置在 z- 顺序前面 (上方)。
如果 position 为 1,则 object 放置在 z- 顺序后面 (下方)。
---------------------------------------------------------------------------
在设计阶段选取快显功能表中的「移至顶层」或「移至底层」功能表指令,可以设定物件的 z- 顺序。
zorder 用在不同的地方,有二种不同的意义:
1、用于 mdiform 中的 child form 时,指的是每一个 child form 的上下位置关系。
2、用于每一个 form 中的所有控制项时,指的是每一个控制项间的上下位置关系。 (注二)
注一:一般我们的二度平面座标轴是指 x 座标轴 (东西向)及 y 座标轴 (南北向),
二个轴构成一个平面,再加上垂直的 z 座标轴,就构成了三度立体空间了!
所以 zorder 指的就是物件在垂直的 z 座标轴上的上下位置关系。
注二:虽然 zorder 指的是物件在垂直的 z 座标轴上的上下位置关系。
但是很多人搞不清楚,为什么他已经设定了 zorder 了,为什么在某些控制项中是无效的?
原因是对单一 form 或 单一 container 而言,在垂直的 z 座标轴上又分成三个层次:
最下一层:显示图形方法结果的绘图空间。
中间一层:用来显示图形物件(例如 image) 和 label 控制项。
上面一层:显示所有非图形控制项,例如 commandbutton、checkbox 或 listbox。
而 zorder 只对单一层次内的控制项有效而已!
例如:您如果设定 label 及 image 的 zorder 是有效的,因为它们都在中间一层!
您如果设定 label 及 commandbutton 的 zorder 是无效的,因为它们在不同层!
最重要的是:不管 zorder 如何设定,
在上面一层的物件永远会在中间一层的物件的上方!
在中间一层的物件永远会在最下一层的物件的上方!
以上代码来自: 源代码数据库(sourcedatabase)
当前版本: 1.0.423
作者: shawls
个人主页: http://shawls.yeah.net
e-mail: shawfile@163.net
qq: 9181729