我正在处理Firemonkey应用程序,其主要形式包含很多控件。我想创建更多控件,然后使用SendToBack
将其发送回去。由于某些原因,此操作无法按预期进行。控件没有被发送回完整的控件,它们在缺少1个控件之前就停止了。
这是一个示例设置:
Button3.SendToBack
-按钮返回,但仅返回1个位置。 Button1仍然是最后一个。检查TForm源代码会发现SendToBack
调用了SendChildToBack
,这将确定最后的位置为:
function TCommonCustomForm.GetBackIndex: Integer;
begin
Result := 1;
end;
应该不是0吗?
问题:
BringToFront
前面是不希望的。答案 0 :(得分:0)
由于我正在创建自己的控件,
ctrl := TSomeControl.Create(aForm);
ctrl.Parent := aForm;
ctrl.SendToBack;
可以替换为:
ctrl := TSomeControl.Create(aForm);
aForm.InsertObject(0 {desired index}, ctrl);