いくつかのサブパネルを持つカスタムコントロールを作成しました。これらのサブパネルは、設計時にドロップされた追加のコントロールを受け入れるようにします。
残念ながら、デザイン時にドロップされるコントロールは、パネルではなく、カスタムコントロールに配置されます。これは、ラベルをドロップしようとすると特に表示されます。ラベルの青い点は表示されますが、キャプションは表示されません。ラベルの選択を解除すると、ラベルはまったく表示されなくなります。
簡略化されたコード(1つのサブパネルのみ):
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;
私はここで何が間違っているのですか?
(念のため:Delphi 2007を使用しています。)
[編集]
私は今、それを別の方法で解決しました。コンポーネントにはパネルが含まれなくなりましたが、外部パネルを参照しています。これにより、実際にははるかに柔軟になりますが、欠点としては、直感的に使用できなくなります。
私が最初に説明したことを達成する方法をまだ知りたいです。これを行うオープンソースコンポーネントはどこかにないので、ソースコードを調べることができますか?