确定activepage中的哪个表单,delphi
Posted
技术标签:
【中文标题】确定activepage中的哪个表单,delphi【英文标题】:Determine which form in activepage, delphi 【发布时间】:2017-04-18 14:54:05 【问题描述】:我有一个带有页面控件的主窗体 (frmMain)。页面控件在启动时由多个表单填充,比如 Form1、Form2 和 Form3
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;
效果很好。 然后当我更改activepage时,我希望在与activepage对应的表单上调用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 类型
【问题讨论】:
【参考方案1】:我找到了解决办法:
with pagecontrol1 do
begin
with tform(activepage.controls[0]) do
if assigned(onactivate) then
onactivate(self);
end;
【讨论】:
以上是关于确定activepage中的哪个表单,delphi的主要内容,如果未能解决你的问题,请参考以下文章