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 に生成したフレームを保存しておけば、タブシート→フレームが呼び出しやすくなります
コメント