TPopup 用于在一个临时弹出窗口中显示内容(实际上可以用来弹出复杂的属性及编辑窗口)。默认情况下,一个 TPopup 是没有内容的,你可以添加一些对象到其中:
- 要添加一个控件到 TPopup ,设置它的 Parent 属性或者创建它时用 TPopup做为所有者。
- 要访问 TPopup 子对象,使用 ChildrenCount 和 Children 属性。
要定位一个 TPopup,使用下列属性:
- PlacementRectangle
获取或设置元素相对于 TPopup 的位置。使用 Placement,PlacementTarget 和 PlacementRectangle 来设置目标原点和TPopup的对齐点。下图是一个 TPopup 使用 PlacementRectangle 的例子: - PlacementTarget
获取或设置 TPopup 定位时相对的目标。
如果 PlacementTarget 未设置并且 TPopup 拥有一个父,TPopup 基于父来定位自己。如果 PlacementTarget 和 Parent 都没设置, TPopup 使用相对于主窗口定位。使用 Placement,PlacementTarget 和 PlacementRectangle 来设置目标原点和TPopup的对齐点。
- HorizontalOffset获取或设置在目标原点和 TPopup 对齐点之间的水平距离(实际上是 Left 坐标相对于 Placement 的偏移量)。要设置目标原点和TPopup的对齐点,使用属性 Placement,PlacementTarget 和 PlacementRectangle 。
如果 Placement 取以下值,HorizontalOffset 无效:
Absolute
、Mouse
、MouseCenter。
- VerticalOffset
获取或设置在目标原点和 TPopup 对齐点之间的垂直距离(实际上是 Top 相对于 Placement 的偏移量)。要设置目标原点和TPopup的对齐点,使用属性 Placement,PlacementTarget 和 PlacementRectangle 。如果 Placement 取以下值,VerticalOffset 无效:
Absolute
、Mouse
、MouseCenter。
- Placement
获取或设置 TPopup的定位方式。
它也指定了 TPopup 在超出屏幕边界时的行为。默认值为底部(
Bottom)
.Placement 的所有值说明参考 TPlacement 定义,定义如下:
TPlacement = (Bottom, Top, Left, Right, Center, BottomCenter, TopCenter, LeftCenter, RightCenter, Absolute, Mouse, MouseCenter);
当一个 TPopup 打开,如果它的父重定位,它不会重定位。如果与其父一起拖动一个 TPopup ,设置 DragWithParent 属性为 True.
TPopup 支持动画和图形效果。这些动画和图形特效被用于显示窗口, 而不是每一个 TPopup 的子组件。对于不透明效果,直接设置 TPopup子组件效果。TPopup 不会继承父的动画和特效。
如果 TPopup 没有严格的尺寸限制,它的大小将取决于内容。也就是说,如果一个效果应用于内容的显示尺寸,部分内容可能被遮盖。要避免这些,明确设置 TPopup的尺寸或通过它的 BoundsRect、Margins、Padding 属情迷来设置绑定区域。
要显式的打开和关闭 TPopu, 分别设置 TPopup.IsOpen 属性为 True 和 False。(我们不推荐使用 Popup 和ClosePopup)