2009-09-06 4 views
1

Мне нужно добавить страницу в TJvWizard во время выполнения (страница может быть зарегистрирована плагином). Я пытался добавить его в JvWizard.Pages, но это не кажется, правильный путь - мне нужно вставить эту страницу в качестве предпоследней странице ...Delphi & JVCL - JvWizard, добавление страницы во время выполнения

Я попробовал код

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 и отображается при запуске, поскольку это было первое ...

заранее!

ответ

3

Вместо вызова Pages.Insert вы должны установить свойство Page.Wizard в компонент Wizard. Это установит родительский элемент и вставляет страницу.

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

    JvWizard1.ActivePage := Page; 
end; 
+0

большое спасибо! :) – migajek