次のように、実行時にタブを作成しています。
procedure TForm1.ShowFormOnTab(pProcName:String);
var
Newform: TForm;
ClassToUse: TFormClass;
NewTab: TTabSheet;
FormName: String;
begin
NewTab := TTabSheet.Create(PageControl1);
NewTab.PageControl:= PageControl1;
PageControl1.ActivePage := NewTab;
if pProcName='ProcfrmSetupItemCategories' then
ClassToUse := TfrmSetupItemCategories
else if pProcName='ProcfrmZones' then
ClassToUse := TfrmZones
else
ClassToUse := nil;
if Assigned(ClassToUse) then
begin
NewForm := ClassTouse.Create(NewTab);
NewTab.Caption := NewForm.Caption;
end;
タブが正しく表示され、フォームも表示されるようになりました。フォームとタブは実行時に作成されるため、この方法で行う必要があります。
しかし、ここで質問があります。フォームには閉じるボタンがあり、クリックするとフォームのリソースが解放されます。しかし、フォームのボタンがクリックされたときに TAB を閉じることも必要です。
どうすればこれを回避できますか?
ありがとう!