我想仅在激活前一页面的选项时才显示自定义页面,例如,我有以下代码:
[Code]
var page_option : TInputOptionWizardPage;
page_dir_se : TInputDirWizardPage;
procedure InitializeWizard();
begin
page_option := CreateInputOptionPage(1,'Select','','',False,True);
page_option.Add('Option 1');
page_option.Add('Option 2');
page_dir_se :=CreateInputDirPage(page_option.ID,'Select', '','',False, '');
page_dir_se.Add('Select A');
page_dir_se.Add('Select B');
page_dir_se.Add('Select C');
end;
仅在示例中,如果page_option.Values [0]为TRUE,则page_dir_se应显示我,如果page_option.Values [1]为TRUE,则应显示另一页。
我使用Inno Setup Compiler
谢谢你的帮助。 关心xD
答案 0 :(得分:2)
您可以跳过ShouldSkipPage
事件中的任何页面:
[Setup]
AppName=My Program
AppVersion=1.5
DefaultDirName={pf}\My Program
[Code]
var
DirPage: TInputDirWizardPage;
OptionPage: TInputOptionWizardPage;
procedure InitializeWizard;
begin
OptionPage := CreateInputOptionPage(wpWelcome, 'Caption', 'Description',
'SubCaption', False, True);
OptionPage.Add('Option 1');
OptionPage.Add('Option 2');
DirPage := CreateInputDirPage(OptionPage.ID, 'Caption', 'Description',
'SubCaption', False, '');
DirPage.Add('Select A');
DirPage.Add('Select B');
DirPage.Add('Select C');
end;
function ShouldSkipPage(PageID: Integer): Boolean;
begin
// skip the page if your custom dir page is about to show and
// the option is not checked
Result := (PageID = DirPage.ID) and not OptionPage.Values[0];
end;