Delphi で PageControl に Frame を動的に追加
Delphi で PageControl に Frame を動的に追加
TMainForm に置いた PageControl1 に TMyFrame というフレームを追加する例
- function TMainForm.AddTabSheet: TMyFrame;
- var TabSheet: TTabSheet;
- MyFrame: TMyFrame;
- begin
- TabSheet := TTabSheet.Create(Self);
- TabSheet.PageControl := PageControl1;
- MyFrame := TMyFrame.Create(TabSheet);
- MyFrame.Parent := TabSheet;
- MyFrame.Align := alClient;
- TabSheet.Tag := NativeInt(MyFrame);
- // ↑ MyFrame := TMyFrame(PageControl.Pages[0].Tag)で呼び出せる
- PageControl1.ActivePage := TabSheet;
- Result := MyFrame;
- end;
流れは
タブシートを生成して、ページコントロールに関連付ける(PageControl := )
フレームを生成して、タブシートに関連付ける(Parent := )
タブシートの Tag に生成したフレームを保存しておけば、タブシート→フレームが呼び出しやすくなります
コメント