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