1

我需要在运行时向 TJvWizard 添加一个页面(该页面可能由插件注册)。我尝试将它添加到 JvWizard.Pages,但它似乎不是有效的方式 - 我需要将该页面作为倒数第二个页面插入......

我试过代码

AddWizardPage(APage: TJvWizardCustomPage);
begin
if APage <> nil then
  begin
    Apage.Wizard:=JvWizard1;
    JvWizard1.Pages.Insert(JvWizard1.Pages.Count - 1 , APage);
    JvWizardRouteMapNodes1.Invalidate;
  end;
end;

但它被添加为 RouteMap 的最后一页,并在启动时显示为第一页...

提前致谢!

4

1 回答 1

3

您必须将 Page.Wizard 属性设置为 Wizard 组件,而不是调用 Pages.Insert。这将设置父级并插入页面。

procedure TForm1.FormCreate(Sender: TObject);
var
  Page: TJvWizardCustomPage;
begin
  Page := TJvWizardWelcomePage.Create(Self);
  Page.Wizard := JvWizard1;

  JvWizard1.ActivePage := Page;
end;
于 2009-09-06T20:24:46.907 回答