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 如何设定,
在上面一层的物件永远会在中间一层的物件的上方!
在中间一层的物件永远会在最下一层的物件的上方!
分享到:
相关推荐
3. **HWND_TOP, HWND_BOTTOM, HWND_NOTOPMOST, HWND_TOPMOST**:这些是SetWindowPos函数中使用的常量,分别代表窗口放置在堆栈顶部、底部、非顶层和顶层。 4. **窗口事件消息**:当窗口状态发生变化时,如WM_SIZE...
vc子窗口zorder顺序的调整,其实挺简单的
### 按钮重叠效果:完美解决Zorder调整 #### 背景与问题描述 在编程领域,特别是界面设计方面,控件之间的层叠关系处理得当与否直接影响到用户体验。在VB和Delphi这类语言中,调整控件的Z顺序(即层叠顺序)相对...
两个按钮的Z序ZOrder的实现-Z顺序的vc实现 像vb可以很容易实现用代码调整控件的ZOrder,可是vc实现真是太麻烦了。现在终于变通实现了。还算简单。 另外还有CMFCTabCtrl的自绘 CTabCtrl的自绘 vc2008实现
vb和delphi中控件的Z顺序很容易调整,vc默认就没法调节,点了按钮,就跑上面了。原来是有点技巧的,vc也能实现。 用vc这么久才发现,可悲。怪微软,应该默认就可以调整,害的我们搞这么久 为公司开发的静态控件,...
%ZOrderGet 获取图形现有对象的当前 z 顺序位置% % [hIndex, hCount] = ZOrderGet(h = gco) % % 为图形的现有对象设置新的 z 顺序位置。 % z-order 越低,物体离用户眼睛越近。 % % 向图形添加新对象时,默认情况下...
像素层允许在不更改场景图的情况下更改pixi容器的渲染顺序... 这意味着,如果您在v4中使用zIndex = sprite.y或zOrder = -sprite.y ,则现在必须使用zOrder=sprite.y 。 或者,您可以覆盖组排序功能,以使其像以前一样进
2. **使用ZOrder方法**:如果你已经创建了控件,但发现它们的Z序不正确,可以使用`Control.ZOrder`方法来改变控件的堆叠顺序。例如,`Control.ZOrder(0)`将把该控件移动到最前面。 3. **利用AlignWithMargins**:这...
这个方法首先检查游戏对象是否已经被使用,如果未被使用,则设置其图形资源、ZOrder、位置并将其标记为已使用。同时,它会将对象添加到`GameObjectManager.Instance`,这是一个全局管理器,用于管理所有活跃的游戏...
这里有两个关键的数据结构:ZORDER_HEADER和ZORDER_ITEM。 - **ZORDER_HEADER** 包含订单的基本信息,如ORDER_NO(订单号)、PLANT(工厂)、STATUS(状态)等。此外,还包括了审计字段如CRNAM(创建人)、CRDAT...
在本教程的第二页,我们将深入探讨如何使用这两者进行碰撞检测,这是游戏开发中的一个核心概念。 `GameObject` 类是所有游戏对象的基础类,它定义了游戏对象的基本属性和行为。以下是一些关键点: 1. **位置...
每个按钮通常会关联一个回调函数,当用户点击按钮时,该函数会被调用执行特定的操作,如改变绘图对象的ZOrder属性。 在MATLAB中,`ZOrder`属性决定了图形对象在坐标轴内的前后位置。默认情况下,后创建的图形对象会...
使用`OnTime`方法可以设定程序在特定时间点运行,如15秒后或每天下午5点。 #### 7.2 取消定时任务 ```vba Application.OnTime EarliestTime:=TimeValue("17:00:00"), _ Procedure:="my_Procedure", Schedule:=False...
例如,要将ListView控件切换到报表视图,可以使用以下代码: ```vb ListView1.View = View.Details ``` 这将使ListView显示带有列标题的详细信息。 其次,`InsertItem`方法用于向ListView的`ListItems`集合中添加新...
在开发Flash游戏的过程中,使用FLEX和Actionscript作为主要工具,可以实现丰富的交互性和动态效果。本篇将探讨如何利用这两个技术创建游戏元素,并重点解析`GameObject`类的设计及其重要属性。 `GameObject`类是...
在移动游戏开发领域,cocos2d-x是一款广泛使用的开源2D游戏引擎。它提供了丰富的功能,使得开发者能够轻松创建各种各样的游戏。本笔记主要聚焦于cocos2d-x中的一个核心功能——`addSprite`,这是在游戏场景中添加...
d3-莫顿 D3布局使用连续的莫顿(Z阶)空间填充曲线可视化距离变量。 这是一个。 另请参阅 。快速开始import d3ZOrder from 'd3-morton';或者d3.zOrder = require('d3-morton');甚至[removed][removed]然后const ...
总结来说,使用FLEX和ActionScript开发Flash游戏时,`GameObject`类提供了一个基础结构,可以方便地扩展以创建各种游戏对象。通过处理鼠标事件,我们可以实现玩家与游戏的深度交互,让游戏更加生动有趣。在实际开发...
在VB.NET中,可以使用AssemblyInfo.cs或AssemblyInfo.vb文件来设置程序集的版本信息,如主版本、次版本、修订号和构建号。在发布新版本时,需要更新这些值。此外,也可以通过代码动态获取这些版本信息,例如: ```...
zorder=0 time_0=1427400000 value_0=0.783017 time_1=1427423160 value_1=0.782209 ray=0 type=16 object_name=Rectangle 22758 period_flags=0 create_time=1427593446 color=16777215 style=0 weight=1 ...