Inno Setup-将自定义按钮与取消按钮对齐

问题描述

WizardSizePercent = 150部分中使用Setup时,在将按钮设置为与取消按钮相同的最大尺寸时遇到问题。

这是我的代码

AboutButton := TNewButton.Create(WizardForm);
AboutButton.Parent := WizardForm;
AboutButton.Left := WizardForm.CancelButton.Left;
AboutButton.Top := WizardForm.CancelButton.Top;
AboutButton.Width := WizardForm.CancelButton.Width;
AboutButton.Height := WizardForm.CancelButton.Height;

我认为Inno Setup不会注意到WizardSizePercent,因为它仅使用常规的WizardForm大小。

解决方法

我假设您的代码在InitializeWizard中。该事件函数在应用WizardSizePercent之前发生。如果由于WizardSizePercentWizardResizable而导致向导窗口更改大小时,如果希望按钮正确对齐,则需要遵循其文档:

使用AnchorsKeepSizeY属性向您的所有自定义控件,自定义向导页面和WizardResizable表单添加对WizardSizePercentTSetupForm的完全支持有什么。有关示例,请参见 CodeClasses.iss 示例脚本。

特别是:

AboutButton.Anchors := WizardForm.CancelButton.Anchors;

CancelButton.Anchors[akRight,akBottom]。如果您的“关于” 按钮应左对齐,请使用:

AboutButton.Anchors := [akLeft,akBottom];