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

康斯坦丁

为什么即使我将其中一个属性设置为也没有检查rbStandardInstallTyperbCustomInstallType单选按钮在另一方面,单选按钮也得到遏制。CheckedTruerbDefaultMSSQLInstancerbNamedMSSQLInstance

我创建如下单选按钮:

function CreateRadioButton(
  AParent: TNewNotebookPage; AChecked: Boolean; AWidth, ALeft, ATop, AFontSize: Integer;
  AFontStyle: TFontStyles; const ACaption: String): TNewRadioButton;
begin
  Result := TNewRadioButton.Create(WizardForm);
  with Result do
    begin
      Parent := AParent;
      Checked := AChecked;
      Width := AWidth;
      Left := ALeft;
      Top := ATop;
      Font.Size := AFontSize;
      Font.Style := AFontStyle;
      Caption := ACaption;
    end;
end;

我有2个自定义页面,我必须在左侧显示我的图像,并在右侧显示一些文本和单选按钮(每页2个单选按钮)。因此,在我的InitializeWizard程序中,我这样写:

wpSelectInstallTypePage := CreateCustomPage(wpSelectDir, 'Caption', 'Description');
rbStandardInstallType := CreateRadioButton(WizardForm.InnerPage, True, WizardForm.InnerPage.Width, ScaleX(15), WizardForm.MainPanel.Top + ScaleY(30), 9, [fsBold], 'Standard');
rbCustomInstallType := CreateRadioButton(WizardForm.InnerPage, False, rbStandardInstallType.Width, rbStandardInstallType.Left, rbStandardInstallType.Top + rbStandardInstallType .Height + ScaleY(16), 9, [fsBold], 'Custom');

wpMSSQLInstallTypePage := CreateCustomPage(wpSelectInstallTypePage.ID, 'Caption2', 'Description2');
rbDefaultMSSQLInstance := CreateRadioButton(WizardForm.InnerPage, True, WizardForm.InnerPage.Width, ScaleX(15), WizardForm.MainPanel.Top + ScaleY(30), 9, [fsBold], 'DefaultInstance');
rbNamedMSSQLInstance := CreateRadioButton(WizardForm.InnerPage, False, rbDefaultMSSQLInstance.Width, rbDefaultMSSQLInstance.Left, rbDefaultMSSQLInstance.Top + rbDefaultMSSQLInstance.Height + ScaleY(10), 9, [fsBold], 'NamedInstance');

最后,这是我的CurPageChanged代码,以便正确显示所有控件:

procedure CurPageChanged(CurPageID: Integer);
  begin
    case CurPageID of
      wpSelectInstallTypePage.ID, wpMSSQLInstallTypePage.ID:
          WizardForm.InnerNotebook.Visible := False;  
    else
      WizardForm.InnerNotebook.Visible := True;
    end;
    rbDefaultMSSQLInstance.Visible := CurPageID = wpMSSQLInstallTypePage.ID;
    rbNamedMSSQLInstance.Visible := CurPageID = wpMSSQLInstallTypePage.ID;
    rbStandardInstallType.Visible := CurPageID = wpSelectInstallTypePage.ID;
    rbCustomInstallType.Visible := CurPageID = wpSelectInstallTypePage.ID;
  end
马丁·普里克里(Martin Prikryl)

您正在将单选按钮添加到错误的父控件(WizardForm.InnerPage)。不访问正在创建的自定义页面。然后,您可以通过显式隐藏/显示中的单选按钮来解决该缺陷CurPageChanged

由于所有四个单选按钮都具有相同的父(WizardForm.InnerPage),因此只能选中其中一个。因此,当您检查时rbDefaultMSSQLInstance,会rbStandardInstallType被隐式取消选中。


有关正确的代码,请参见:
Inno Setup在自定义页面上放置图像/控件

(确保您删除了多余的CurPageChanged代码)


您还应该考虑使用CreateInputOptionPage而不是手动将单选按钮添加到通用自定义页面。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么在inno设置中检查WizardForm的null是否无效?

来自分类Dev

Inno Setup的自定义页面向导

来自分类Dev

wpFinished页面上的Inno Setup替换按钮

来自分类Dev

下次执行Inno Setup制作的安装程序时,在自定义页面上恢复先前输入的数据

来自分类Dev

Inno Setup:“就绪页面”自定义布局

来自分类Dev

如何在Inno Setup中基于设置类型跳过自定义页面

来自分类Dev

在Inno Setup中,FinishedPage上未显示自定义TLabel

来自分类Dev

设置Inno Setup卸载程序的外观时,为什么需要使用uninsneveruninstall标志?

来自分类Dev

如何使用RichEditViewer在Inno Setup中向自定义页面添加可点击链接?

来自分类Dev

自定义页面Values []数组在Inno Setup中如何工作?

来自分类Dev

如何在Inno Setup中将自定义页面上的单选控件分成两个不同的组?

来自分类Dev

Inno Setup中自定义页面画布区域的默认大小是多少?

来自分类Dev

当窗口调整为最小尺寸时(在Inno Setup上),TLabel控件会在自定义页面上裁剪

来自分类Dev

Inno Setup-使用进度条在自定义页面上复制文件

来自分类Dev

为什么要在Inno Setup的ExtractTemporaryFiles函数中指定路径?

来自分类Dev

安装后执行批处理文件,并在Inno Setup中“完成”页面之前的自定义页面上显示其输出

来自分类Dev

为什么在Inno Setup中使用“&”字符?

来自分类Dev

为什么在inno设置中检查WizardForm的null是否无效?

来自分类Dev

Inno Setup的自定义页面向导

来自分类Dev

在Inno Setup中:如何使用/了解自定义页面的CurPageIDs的值?

来自分类Dev

使用Google Map的Inno Setup自定义页面

来自分类Dev

为什么不选中单选按钮?

来自分类Dev

Inno Setup - 如何在自定义卸载页面中创建新的卸载页面?

来自分类Dev

使 Inno Setup 自动将自定义页面中的数据添加到 .inf 文件

来自分类Dev

如何在 Inno Setup 中添加两个自定义页面?

来自分类Dev

Inno Setup:自定义页面选择更新或删除/卸载

来自分类Dev

Inno Setup 安装中的按钮被裁剪,自定义消息显示为乱码(日语)

来自分类Dev

禁止 Inno Setup 自定义页面上的空白和仅空格输入

来自分类Dev

自定义单选按钮:为什么不显示图像?

Related 相关文章

  1. 1

    为什么在inno设置中检查WizardForm的null是否无效?

  2. 2

    Inno Setup的自定义页面向导

  3. 3

    wpFinished页面上的Inno Setup替换按钮

  4. 4

    下次执行Inno Setup制作的安装程序时,在自定义页面上恢复先前输入的数据

  5. 5

    Inno Setup:“就绪页面”自定义布局

  6. 6

    如何在Inno Setup中基于设置类型跳过自定义页面

  7. 7

    在Inno Setup中,FinishedPage上未显示自定义TLabel

  8. 8

    设置Inno Setup卸载程序的外观时,为什么需要使用uninsneveruninstall标志?

  9. 9

    如何使用RichEditViewer在Inno Setup中向自定义页面添加可点击链接?

  10. 10

    自定义页面Values []数组在Inno Setup中如何工作?

  11. 11

    如何在Inno Setup中将自定义页面上的单选控件分成两个不同的组?

  12. 12

    Inno Setup中自定义页面画布区域的默认大小是多少?

  13. 13

    当窗口调整为最小尺寸时(在Inno Setup上),TLabel控件会在自定义页面上裁剪

  14. 14

    Inno Setup-使用进度条在自定义页面上复制文件

  15. 15

    为什么要在Inno Setup的ExtractTemporaryFiles函数中指定路径?

  16. 16

    安装后执行批处理文件,并在Inno Setup中“完成”页面之前的自定义页面上显示其输出

  17. 17

    为什么在Inno Setup中使用“&”字符?

  18. 18

    为什么在inno设置中检查WizardForm的null是否无效?

  19. 19

    Inno Setup的自定义页面向导

  20. 20

    在Inno Setup中:如何使用/了解自定义页面的CurPageIDs的值?

  21. 21

    使用Google Map的Inno Setup自定义页面

  22. 22

    为什么不选中单选按钮?

  23. 23

    Inno Setup - 如何在自定义卸载页面中创建新的卸载页面?

  24. 24

    使 Inno Setup 自动将自定义页面中的数据添加到 .inf 文件

  25. 25

    如何在 Inno Setup 中添加两个自定义页面?

  26. 26

    Inno Setup:自定义页面选择更新或删除/卸载

  27. 27

    Inno Setup 安装中的按钮被裁剪,自定义消息显示为乱码(日语)

  28. 28

    禁止 Inno Setup 自定义页面上的空白和仅空格输入

  29. 29

    自定义单选按钮:为什么不显示图像?

热门标签

归档