我在运行时创建的标签类似这样在运行时删除标签:通过包含窗体的按钮
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在单击窗体按钮时关闭。
我该如何解决这个问题?
谢谢!
你需要使它在这个问题清楚,你正在使用Lazrus而不是Delphi。以及您定位的平台。 –
@DavidHeffernan似乎Lazarus和Delphi在这方面的工作都是一样的。但我只限制使用Windows API。所以它必须同时适用于Lazarus和Delphi(尽管Delphi本身仅适用于Windows) – itsols
请在问题主体中明确指出您使用Lazarus并列出您的目标平台。 –