在Inno Setup中,是否可以创建一个在单选按钮内包含输入文件小工具的页面?

在前

在Inno Setup中,您可以拥有一个TInputFileWizardPage,其中包含一个不错的文件选择小工具。但是,您可以将相同的小工具放在通用的TWizardPage上吗?具体来说,我想使用单选按钮,以便在激活一个特定选项时使用文件小工具。

TLama

修改创建的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;

默认情况下,页面是这样的:

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Inno Setup:如何使用单选按钮和表单创建页面

来自分类Dev

Inno Setup中的TTreeView

来自分类Dev

Inno Setup语法-OR,AND

来自分类Dev

获取单选按钮值[INNO SETUP]

来自分类Dev

在Inno Setup中创建ZIP文件

来自分类Dev

Inno设置页面顺序

来自分类Dev

Inno Setup-如何根据单选按钮跳过文件

来自分类Dev

wpFinished页面上的Inno Setup替换按钮

来自分类Dev

Inno Setup从CDATA创建TStringList

来自分类Dev

Inno Setup:创建简化的ComponentsList

来自分类Dev

我可以在Inno Setup的同一“ CreateInputOptionPage”页面上使用复选框和单选按钮吗?

来自分类Dev

inno setup中的“ Not in a loop”错误

来自分类Dev

在Inno Setup中取消安装

来自分类Dev

Inno Setup中的条件DisableProgramGroupPage

来自分类Dev

在Inno Setup中记录TWindowsVersion

来自分类Dev

Inno Setup 中的动态密码

来自分类Dev

Inno Setup 从输入用户解压文件

来自分类Dev

Inno Setup中较大的“选择组件”页面

来自分类Dev

Inno Setup,检测参数文件是否存在?

来自分类Dev

阻止按钮在Inno Setup中获得焦点

来自分类Dev

为什么在Inno Setup中未选中自定义页面上的单选按钮?

来自分类Dev

未捕获Inno Setup异常

来自分类Dev

如何从Inno Setup安装JRE?

来自分类Dev

Inno Setup ComponentsList OnClick事件

来自分类Dev

Inno Setup设置TInputQueryWizardPage高度

来自分类Dev

Inno Setup:选择组件的功能

来自分类Dev

Inno Setup隐藏日志条目

来自分类Dev

Inno Setup Abs(Integer)功能

来自分类Dev

Inno Setup更改CreateOutputMsgMemoPage字体