我寫了一個自定義控件,它有幾個子面板。我希望這些子面板在設計時接受任何額外的控制。如何使用在設計時接受其他控件的子面板創建自定義控件?
不幸的是,任何在設計時被丟棄的控件都會在我的自定義控件上而不是在面板上。這特別表明,如果我嘗試刪除標籤:顯示標籤的藍色圓點,但它的標題不是,如果我取消選擇標籤,它將不再可見。
簡化的代碼(只有一個子面板):
type
TMyContainer = class(TPanel)
p_SubPanel: TPanel;
public
constructor Create(_Owner: TComponent); override;
end;
constructor TMyContainer.Create(_Owner: TComponent);
begin
inherited;
p_SubPanel := TPanel.Create(Self);
p_SubPanel.Parent := Self;
p_SubPanel.Align := alClient;
end;
我在做什麼錯在這裏?
(以防萬一它的問題:我使用德爾福2007年)
[編輯]
我現在已經解決了不同的看法。該組件不再包含面板,而是指外部面板。這使得它實際上更加靈活,但在不利方面,它不再像使用那樣直觀。
我仍然想知道如何完成我最初描述的內容。沒有一個開源組件可以做到這一點,所以我可以研究源代碼?