Inno setup 在Inno设置中,是否可以创建在单选按钮中包含输入文件小工具的页面?
在Inno设置中,您可以有一个TInputFileWizardPage,带有一个漂亮的文件选择小工具。但是你能把同样的小玩意放在普通的推送页面上吗?具体来说,我希望有单选按钮,以便在激活一个特定选项时使用文件小工具。比构建自己的输入文件页面更容易的是修改创建的Inno setup 在Inno设置中,是否可以创建在单选按钮中包含输入文件小工具的页面?,inno-setup,Inno Setup,在Inno设置中,您可以有一个TInputFileWizardPage,带有一个漂亮的文件选择小工具。但是你能把同样的小玩意放在普通的推送页面上吗?具体来说,我希望有单选按钮,以便在激活一个特定选项时使用文件小工具。比构建自己的输入文件页面更容易的是修改创建的TInputFileWizardPage页面。以下示例添加了两个单选按钮并移动输入文件项组件。默认情况下,将禁用输入文件组件,并选择第一个单选按钮。如果用户选择第二个单选按钮,将启用输入文件组件: [Setup] AppName=My Pr
TInputFileWizardPage
页面。以下示例添加了两个单选按钮并移动输入文件项组件。默认情况下,将禁用输入文件组件,并选择第一个单选按钮。如果用户选择第二个单选按钮,将启用输入文件组件:
[Setup]
AppName=My Program
AppVersion=1.5
DefaultDirName={pf}\My Program
[Code]
var
InputPage: TInputFileWizardPage;
RadioButtons: array[0..1] of TNewRadioButton;
procedure ShiftFilePageItem(Page: TInputFileWizardPage; Index: Integer;
Offset: Integer);
begin
Page.Edits[Index].Top := Page.Edits[Index].Top + Offset;
Page.Buttons[Index].Top := Page.Buttons[Index].Top + Offset;
Page.PromptLabels[Index].Top := Page.PromptLabels[Index].Top + Offset;
end;
procedure SetFilePageItemEnabled(Page: TInputFileWizardPage; Index: Integer;
Enabled: Boolean);
begin
Page.Edits[Index].Enabled := Enabled;
Page.Buttons[Index].Enabled := Enabled;
Page.PromptLabels[Index].Enabled := Enabled;
end;
procedure RadioButtonClick(Sender: TObject);
begin
SetFilePageItemEnabled(InputPage, 0, Sender = RadioButtons[1]);
end;
procedure InitializeWizard;
begin
InputPage := CreateInputFilePage(wpWelcome, 'Caption', 'Description',
'SubCaption');
InputPage.Add('Prompt', 'All files|*.*', '*.*');
RadioButtons[0] := TNewRadioButton.Create(InputPage);
RadioButtons[0].Parent := InputPage.Surface;
RadioButtons[0].Left := 0;
RadioButtons[0].Top := 0;
RadioButtons[0].Width := InputPage.SurfaceWidth;
RadioButtons[0].Checked := True;
RadioButtons[0].Caption := 'Option with no file selection';
RadioButtons[0].OnClick := @RadioButtonClick;
RadioButtons[1] := TNewRadioButton.Create(InputPage);
RadioButtons[1].Parent := InputPage.Surface;
RadioButtons[1].Left := RadioButtons[0].Left;
RadioButtons[1].Top := RadioButtons[0].Top + RadioButtons[0].Height + 2;
RadioButtons[1].Width := InputPage.SurfaceWidth;
RadioButtons[1].Checked := False;
RadioButtons[1].Caption := 'Option with file selection';
RadioButtons[1].OnClick := @RadioButtonClick;
ShiftFilePageItem(InputPage, 0, RadioButtons[1].Top);
SetFilePageItemEnabled(InputPage, 0, False);
end;
这是默认情况下页面的外观:
使用
TWizardPage
页面是否是一项要求?我这样问是因为修改创建的TInputFileWizardPage
页面要容易得多。。。