0

TForm の子孫の表示のデフォルト動作を変更したいと考えています (たとえば、それ自体を画面に表示する代わりに、新しいタブシートとしてページ コントロールに配置したいと考えています)。それを達成する方法は?標準メソッド (Show メソッドを呼び出すか、Visible プロパティを設定) を使用して表示したいので、SetVisible メソッドをオーバーライドしようとしました。しかし、プライベート メソッドであるため、SetVisible をオーバーライドできないことがわかりました。それをオーバーライドする提案はありますか? ありがとう。

4

2 に答える 2

1

保護された TCustomForm.VisibleChanging をオーバーライドできます。

于 2009-11-09T04:59:40.153 に答える
0

パネルなどにフォームを埋め込むという、あなたが求めていると思うことを行うには2つの方法があります。TForm.CreateParented(handle) 関数がありますが、コードでは使用しない傾向があります。代わりに、次のようなコードでフォームを作成します。

MyForm := TMyForm.Create(Self);
MyForm.Parent := MyTabSheet;
MyForm.Border := bsNone;
MyForm.Align := alClient;
MyForm.Show;
于 2009-11-09T09:35:08.113 に答える