如何将Form在第二个监视器上居中?

时间:2020-07-08 12:53:09

标签: delphi vcl multiple-monitors delphi-10.3-rio

我正在第二个监视器上显示一个表单(使用this reference),并且需要使其居中显示。

这是我最后的尝试,但没有成功。我该如何实现?

    MonitorForm.Left := (mInfo.rcWork.Width - MonitorForm.Width)  div 2;
    MonitorForm.Top := (mInfo.rcWork.Height - MonitorForm.Height) div 2;

1 个答案:

答案 0 :(得分:3)

您需要考虑显示器在整个桌面尺寸中的位置(左/上):

MonitorForm.Left := mInfo.rcWork.Left + (mInfo.rcWork.Width - MonitorForm.Width) div 2;
MonitorForm.Top := mInfo.rcWork.Top + (mInfo.rcWork.Height - MonitorForm.Height) div 2;