Delphi 如何在FMX设计时与非存储子控件交互?(TTabControl选项卡内容)
在过去的三天里,我一直在扫描Delphi 如何在FMX设计时与非存储子控件交互?(TTabControl选项卡内容),delphi,tabcontrol,tabcontainer,Delphi,Tabcontrol,Tabcontainer,在过去的三天里,我一直在扫描TTabControl的代码,我发现了以下内容: 控件将接受子控件,但会根据其所处的状态重定向它们,例如: 如果子控件是TTabItem它将把它分配给FContent:TContent,该选项卡用作选项卡容器,否则如果子控件是特殊控件(tefect,TAnimation…),它将被添加到TTabControl),否则如果有活动选项卡,子控件将被重定向到该选项卡,否则它将被重定向到FNoItemsContent:TContent不可见控件(不知道为什么!!!) 当子项被
TTabControl
的代码,我发现了以下内容:
TTabItem
它将把它分配给FContent:TContent
,该选项卡用作选项卡容器,否则如果子控件是特殊控件(tefect,TAnimation…
),它将被添加到TTabControl
),否则如果有活动选项卡,子控件将被重定向到该选项卡,否则它将被重定向到FNoItemsContent:TContent
不可见控件(不知道为什么!!!)f内容:t内容
成员(在设计时位置将被调整)Child.Parent:=TabControl
触发上述操作,这是执行此操作的方法
procedure TTabControl.AddOrInsertObject(const AObject: TFmxObject; const Index: Integer = MaxInt);
让我困惑的是,以下是非存储控件,但它们是子控件的设计和运行时的父控件
TTabItem.FContent
TTabControl.FContent
TTabControl.FNoItemContent
TTabItem
,因此在IDE中添加选项卡(右键单击add new TabItem)时,您将在结构面板中看到TTabItem
s是选项卡控件的子控件,拖放另一个控件,您将看到它是活动选项卡的子控件(TTabItem而不是其FContent)
您可以与控件和所有控件交互
我的问题
这个机制背后的想法是什么?如果我想从头开始,如何做同样的事情
我想要的是设计时功能。“这个机制背后的想法是什么”-听起来像是你应该直接问Embarcadero的问题,因为他们是这样设计的。@RemyLebeau我想我最终必须这样做,我在这里问这个问题的原因只是为了从一个有知识的人那里得到一个更快的答案。也许有人必须做我在这里要做的事。