当我显示一个表单时,我将它显示在上次使用我保存在ini文件中的TForm.Left
属性的位置。
我想添加对多个显示器的支持,因为在2个显示器的情况下,Left可以是2500个,因此2个显示器被视为一个非常宽的显示器。
我想将监视器编号(TForm.Monitor.MonitorNum
)保存到ini文件中,但保存相对左侧。
是否有根据监视器告诉Left
的属性?
e.g。我有2个1024x768显示器,一个在右侧(主要),一个在左侧(次级/扩展),如果我在右侧监视器上移动一个表格,左侧2个像素Left
属性为1026。我我想说“这是监视器2,左边是2”。
感谢。
答案 0 :(得分:5)
没有TForm的属性告诉它与它所在的监视器的相对位置。您必须减去:Left - Monitor.Left
。在你的例子中,这将是1026 - 1024。
无论如何,与仅存储/设置表格的左侧(即1026)相比,我没有看到这种方法的任何优势。您可以使用MakeFullyVisible
如果您关心的话,监控安排可能会在会话之间发生变化。