我正在 Delphi 開發一個專案,我想創建一些用于繼承的存盤庫并簡化 VCL 設計損失時間。我的大問題是我有一個framewith a panel,我把它放進了一個form. 在那form我想在from firstframe里面放另一個。結果是 IDE 將我的第二個父級設定為從. 我在這個設定中做錯了什么。在 Delphi (Berlin) 中可以將 a放入另一個已經在? 先感謝您。panelframeframeframepanelformframeframeform
uj5u.com熱心網友回復:
一些背景
框架的主要目的是提供現成的插入式組件組件。也就是說,在實體化時通常不需要更改布局的組件組件。
盡管不阻止實體化框架的重新設計,但不建議這樣做。至少仔細考慮一下:
如果您確實修改了實體化框架,則這些更改不會延續到源框架的設計中。
如果您確實修改了源框架設計,則這些更改將轉移到框架的實體中。
下面回答你的問題:
框架可以嵌套,IOW,一個框架可以是另一個框架的一個組件,但是它們必須在父框架的設計中組合起來。在表單的設計時,不能以父子方式組合框架。
正如另一個答案所示,框架可以在運行時以父子方式組合。
uj5u.com熱心網友回復:
是的,這是可能的。不要忘記設定Align屬性,因為如果兩者都是Client,您將看不到第一個。
procedure TForm1.Button1Click(Sender: TObject);
var
Frame1: TFrame1;
Frame2: TFrame2;
begin
// set first frame on main form
Frame1 := TFrame1.Create(Self);
Frame1.Parent := Panel1;
Frame1.Align := alClient;
// set second frame in first frame
Frame2 := TFrame2.Create(Frame1);
Frame2.Parent := Frame1.Panel1;
Frame2.Align := alBottom;
Frame2.Height := 50;
end;
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/412476.html
標籤:
上一篇:DPROJ檔案中所有可能的AppType值的完整串列?
下一篇:有沒有辦法根據日期獲取檔案串列?
