1
我有一个带有pagecontrol的mainform(frmMain)。页面控件在启动时由几种形式填充,让我们说Form1,Form2和Form3确定哪个表单在活动页面中,delphi
procedure TForm1.FormCreate(Sender: TObject);
begin
ManualDock(frmMain.PageControl1);
show;
end;
procedure TForm2.FormCreate(Sender: TObject);
begin
ManualDock(frmMain.PageControl1);
show;
end;
procedure TForm3.FormCreate(Sender: TObject);
begin
ManualDock(frmMain.PageControl1);
show;
end;
这很好。 当我然后改变活动页面时,我想要在活动页面对应的窗体上调用OnActivate方法,所以我试过了;
procedure TfrmMain.PageControl1Change(Sender: TObject);
begin
with pagecontrol1 do
begin
lbHeading.Caption := activepage.Caption;
with tform(activepage) do // <= This does
if assigned(onactivate) then // <= not
onactivate(self); // <= work
end;
end;
Activepage是类型的TTabsheet