如何调整单选按钮和“WizardForm.DirEdit”框之间的间距?

问题描述 投票:0回答:1

不久前我问了一个问题: “如何为 Steam 和 Epic Games 创建单独的安装路径,通过单选按钮选择,或自定义安装的路径框?”,Martin Prikryl 对此给予了很好的回应。不幸的是,由于我没有澄清我在用户体验方面的具体计划,我遇到了一些麻烦。我尝试修复它,但我就是无法理解他的

[Code
] 中控制按钮创建的这一小部分。

马丁的部分

[Code]

var
  SteamButton: TNewRadioButton;
  EpicButton: TNewRadioButton;
  CustomButton: TNewRadioButton;

function CreateButton(var Top: Integer): TNewRadioButton;
begin
  Result := TNewRadioButton.Create(WizardForm);
  Result.Parent := WizardForm.DirEdit.Parent;
  Result.Top := Top;
  Result.Left := WizardForm.SelectDirBrowseLabel.Left;
  Result.Width := Result.Parent.ClientWidth - Result.Left;
  Result.OnClick := @DirButtonClick;
  Top := Result.Top + Result.Height + ScaleY(24); 
end;

任何人都可以解释如何分离按钮,而不是路径框吗?


此处显示所需内容的示例:

Example Image

inno-setup pascalscript inno-setup-v6
1个回答
0
投票

如果每个单选按钮后需要不同的间距,请将间距代码移出共享

CreateButton
实现:

SteamButton := CreateButton();
SteamButton.Caption := '&Steam';
SteamButton.Enabled := DirExists(SteamDirName);
SteamButton.Top := WizardForm.SelectDirBrowseLabel.Top;

EpicButton := CreateButton();
EpicButton.Caption := '&Epic Games';
EpicButton.Enabled := DirExists(EpicDirName);
EpicButton.Top := SteamButton.Top + SteamButton.Height + ScaleY(24);

CustomButton := CreateButton();
CustomButton.Caption := '&Custom path:';
CustomButton.Top := EpicButton.Top + EpicButton.Height + ScaleY(24);

Top := CustomButton.Top + CustomButton.Height + ScaleY(8);
WizardForm.DirBrowseButton.Top :=
  WizardForm.DirBrowseButton.Top + (Top - WizardForm.DirEdit.Top);
 WizardForm.DirEdit.Top := Top;
© www.soinside.com 2019 - 2024. All rights reserved.