在 Inno Setup 中使用字体大小缩放单选按钮列表
Scale radio button list with font size in Inno Setup
当尝试使用单选按钮应用自定义安装掩码时(我使用了 Replace installation types dropdown list by radio buttons 中提供的代码)我发现我无法使用更高的字体,因为一个单选按钮字段和一个单选按钮字段之间需要一点间距另一个。举个形象的例子:
由于默认字体大小不太容易阅读,我想知道是否有一种方法可以在一个单选按钮字段和下一个单选按钮字段之间添加额外的间距。
在运行时在 Inno Setup 中创建的复选框和单选按钮不会使用 DPI/font 大小自动缩放它们的高度。
所以你必须以编程方式扩展它们。
...
RadioButton.Left := WizardForm.TypesCombo.Left;
RadioButton.Height := ScaleY(RadioButton.Height);
RadioButton.Top := WizardForm.TypesCombo.Top + I * RadioButton.Height;
...
ScaleY(RadioButton.Height)
采用默认的 combobox/radiobutton 高度,这是为默认字体和无显示缩放 (100%) 设计的,并将其缩放为自定义字体和实际显示缩放。
但请注意,为您的 application/setup 使用非默认字体大小不是一个好主意。用户应在 Windows 首选项中选择 he/she 适合的字体大小。您不应覆盖 his/her 选择。
更改字体大小时,不要修改共享default.isl
,而是使用您项目文件的[LangOptions]
section:
[LangOptions]
DialogFontSize=20
当尝试使用单选按钮应用自定义安装掩码时(我使用了 Replace installation types dropdown list by radio buttons 中提供的代码)我发现我无法使用更高的字体,因为一个单选按钮字段和一个单选按钮字段之间需要一点间距另一个。举个形象的例子:
由于默认字体大小不太容易阅读,我想知道是否有一种方法可以在一个单选按钮字段和下一个单选按钮字段之间添加额外的间距。
在运行时在 Inno Setup 中创建的复选框和单选按钮不会使用 DPI/font 大小自动缩放它们的高度。
所以你必须以编程方式扩展它们。
...
RadioButton.Left := WizardForm.TypesCombo.Left;
RadioButton.Height := ScaleY(RadioButton.Height);
RadioButton.Top := WizardForm.TypesCombo.Top + I * RadioButton.Height;
...
ScaleY(RadioButton.Height)
采用默认的 combobox/radiobutton 高度,这是为默认字体和无显示缩放 (100%) 设计的,并将其缩放为自定义字体和实际显示缩放。
但请注意,为您的 application/setup 使用非默认字体大小不是一个好主意。用户应在 Windows 首选项中选择 he/she 适合的字体大小。您不应覆盖 his/her 选择。
更改字体大小时,不要修改共享default.isl
,而是使用您项目文件的[LangOptions]
section:
[LangOptions]
DialogFontSize=20