Inno Setup 根据屏幕 DPI 正确定位标签
Inno Setup correctly position a label with respect to screen DPI
我试图在 InfoAfterPage
部分上方放置一个标签,并且无论使用何种缩放比例,它都始终出现在那里,就像下面显示的 space 所需的数量一样。
我正在使用 Label.Top := WizardForm.InfoAfterPage.Height - 20
,但我知道如果以任何方式缩放屏幕,可能会显得不合适。最好的设置方法是什么,以便无论屏幕如何缩放都始终保持在这个位置?
Label.Top := WizardForm.InfoAfterPage.Height - ScaleY(20);
甚至更好,甚至不对标签高度做出假设:
Label.Top := WizardForm.InfoAfterPage.Height - ScaleY(7) - Label.Height;
或者对于您的具体情况,只需重复使用 ComponentsDiskSpaceLabel
:
的位置
Label.Top := WizardForm.ComponentsDiskSpaceLabel.Top;
请注意 ComponentsDiskSpaceLabel
在向导的生命周期内存在,因此您可以随时访问它。
我试图在 InfoAfterPage
部分上方放置一个标签,并且无论使用何种缩放比例,它都始终出现在那里,就像下面显示的 space 所需的数量一样。
我正在使用 Label.Top := WizardForm.InfoAfterPage.Height - 20
,但我知道如果以任何方式缩放屏幕,可能会显得不合适。最好的设置方法是什么,以便无论屏幕如何缩放都始终保持在这个位置?
Label.Top := WizardForm.InfoAfterPage.Height - ScaleY(20);
甚至更好,甚至不对标签高度做出假设:
Label.Top := WizardForm.InfoAfterPage.Height - ScaleY(7) - Label.Height;
或者对于您的具体情况,只需重复使用 ComponentsDiskSpaceLabel
:
Label.Top := WizardForm.ComponentsDiskSpaceLabel.Top;
请注意 ComponentsDiskSpaceLabel
在向导的生命周期内存在,因此您可以随时访问它。