ZOrder的使用

原创 2002年02月21日 15:44:00

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

cocos2d-x(6):渲染顺序ZORDER和Tag相关学习

前人已经总结了:http://blog.csdn.net/u010105970/article/details/39753725 我稍微补充一点点。 setZOrd...
  • qq_33850438
  • qq_33850438
  • 2016年09月14日 17:16
  • 804

Matplotlib 中文用户指南 3.5 艺术家教程

3.6 图例指南 原文:Legend guide 译者:飞龙 协议:CC BY-NC-SA 4.0 此图例指南是legend()中可用文档的扩展 - 请在继续阅读本指南之前确保...
  • wizardforcel
  • wizardforcel
  • 2017年01月08日 15:44
  • 882

Sprite3D在UI层的绘制和遮挡

有很多朋友对sprite3D在UI层的绘制和遮挡不太明白,这里稍微说明一下。  并且有其他疑问也可以在原帖中回复,然后会持续更新一些想要的功能。  引擎版本: Cocos2d-x 3.6 ...
  • u014696234
  • u014696234
  • 2015年08月26日 09:17
  • 580

MFC控件的绘制与响应顺序——ZOrder

1. 创建4个按钮 CRect rcCreate(0,0,80,80); m_btTest1.Create(TEXT("Test1"),WS_CHILD|WS_VISIBLE,rcCrea...
  • tiandyoin
  • tiandyoin
  • 2014年11月16日 11:24
  • 1256

MFC控件的绘制与响应顺序——ZOrder

from:http://blog.csdn.net/icebergsnowfox/article/details/8986065 1. 创建4个按钮 CRect rcCreate(...
  • u010059658
  • u010059658
  • 2016年01月12日 20:01
  • 362

解决SurfaceView调用setZOrderOnTop(true)遮挡其他控件的问题

1、SurfaceView遮挡其他控件的项目背景: 由于要实现视频、地图大小窗口切换功能,所以在布局里同时使用了MapView和SurfaceView,textview、imageview、自定义控...
  • u013068887
  • u013068887
  • 2017年05月25日 15:00
  • 1505

MFC控件的绘制与响应顺序——ZOrder

1. 创建4个按钮 CRect rcCreate(0,0,80,80); m_btTest1.Create(TEXT("Test1"),WS_CHILD|WS_VISIBLE,rcCrea...
  • piaopiaopiaopiaopiao
  • piaopiaopiaopiaopiao
  • 2014年11月25日 22:45
  • 399

MFC控件的绘制与响应顺序——ZOrder

1. 创建4个按钮 CRect rcCreate(0,0,80,80); m_btTest1.Create(TEXT("Test1"),WS_CHILD|WS_VISIBLE,rcCrea...
  • IcebergSnowfox
  • IcebergSnowfox
  • 2013年05月28日 19:34
  • 4789

MFC控件的Z序

1. 创建4个按钮 CRect rcCreate(0,0,80,80); m_btTest1.Create(TEXT("Test1"),WS_CHILD|WS_VISIBLE,rc...
  • PerfectToday
  • PerfectToday
  • 2015年06月03日 14:34
  • 3477

Qt中各个widget前后位置的设定(转)

Qt中各个widget前后位置的设定(转) http://www.cnblogs.com/qq78292959/archive/2012/08/19/2646167.html 这两天在...
  • qingfenglu
  • qingfenglu
  • 2016年03月04日 20:53
  • 1068
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ZOrder的使用
举报原因:
原因补充:

(最多只允许输入30个字)