首页 > 解决方案 > 相对于 WizardForm 位置定位自定义表单

问题描述

我创建了一个自定义表单来显示一个选项页面,我试图将其定位在WizardForm单击选项按钮时所在位置的中心。我已经尝试了以下代码,但它没有按照描述定位它。

[Code]
var
  OptionsWindowForm: TForm;

{ Show the Options window }
procedure ShowOptionsWindow;
begin
  OptionsWindowForm := TForm.Create(nil);
  with OptionsWindowForm do
    begin
      Parent := WizardForm;
      BorderStyle := bsDialog;
      Position := poMainFormCenter;
      ClientWidth := ScaleX(400);
      ClientHeight := ScaleY(140);
      Caption := '{#AppName} Options';
      ShowModal;
    end;
end;

我还尝试poOwnerFormCenterPosition属性和设置LeftTop属性,这似乎被忽略了。

有没有办法按照描述定位它?

标签: inno-setuppascalscript

解决方案


它确实似乎没有按预期工作。

虽然这似乎有效:

OptionsWindowForm := TForm.Create(WizardForm); { Make WizardForm the owner }
with OptionsWindowForm do
begin
  Position := poOwnerFormCenter; { Center on the owner }
  { ... }
  ShowModal;
end;

在此处输入图像描述


推荐阅读