我需要在运行时向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的最后一页,并在启动时显示为第一页...
提前感谢!
答案 0 :(得分:3)
您必须将Page.Wizard属性设置为向导组件,而不是调用Pages.Insert。这将设置父级并插入页面。
procedure TForm1.FormCreate(Sender: TObject);
var
Page: TJvWizardCustomPage;
begin
Page := TJvWizardWelcomePage.Create(Self);
Page.Wizard := JvWizard1;
JvWizard1.ActivePage := Page;
end;