Delphi:处理多个监视器和TForm.Left相对属性

LaB*_*cca 1 delphi multiple-monitors delphi-xe2

当我显示一个表单时,我将它显示在上次使用TForm.Left我保存在ini文件中的属性的位置.

我想添加对多个显示器的支持,因为在2个显示器的情况下,Left可以是2500,所以2个显示器可以看作是一个非常宽的显示器.

我想将监视器编号(TForm.Monitor.MonitorNum)保存到ini文件中,但保存相对左侧.是否有Left根据监视器告诉的属性?

例如,我有2个1024x768显示器,一个在右侧(主要),一个在左侧(次级/扩展),如果我在右侧显示器上移动一个表格,左侧2个像素Left属性为1026.我想说"这是显示器2,左边是2".

谢谢.

Ser*_*yuz 5

TForm没有任何属性可以告诉它它与显示器的相对位置.你必须减去:Left - Monitor.Left.在你的例子中,这将是1026 - 1024.

无论如何,与仅存储/设置表单的左侧(即1026)相比,我认为这种方法没有任何优势.您可以使用,MakeFullyVisible如果您的关注是监视器安排可能会在会话之间更改