首页 > 解决方案 > SendToBack 似乎在 Firemonkey 中不起作用?

问题描述

我正在使用包含大量控件的主窗体开发 Firemonkey 应用程序。我想创建更多控件并使用SendToBack. 由于某种原因,这不能按预期工作。控制没有被发送到后卫,他们停止了 1 个控制。

这是一个示例设置:

检查 TForm 源代码显示SendToBack调用SendChildToBack,它将最后位置确定为:

function TCommonCustomForm.GetBackIndex: Integer;
begin
  Result := 1;
end;

不应该是0吗?

问题:

标签: formsdelphifiremonkeyz-order

解决方案


由于我正在创建自己的控件,

ctrl := TSomeControl.Create(aForm);
ctrl.Parent := aForm;
ctrl.SendToBack;

可以替换为:

ctrl := TSomeControl.Create(aForm);
aForm.InsertObject(0 {desired index}, ctrl);

推荐阅读