【发布时间】:2009-11-17 19:40:57
【问题描述】:
我不完全确定如何措辞这个问题,所以我只是解释一下我的问题。
我的 VB 6 程序将屏幕的位置保存在注册表中,这样当它再次加载时它可以有一个默认位置。这按预期工作,但我遇到了一个问题。我有一台带有 2 台显示器的计算机。我将窗口拖到第二个屏幕,然后第二天拔下第二个显示器。每次我加载程序时,它都会出现在 Dock 中,但表单本身却没有。
我认为它隐藏在第二台显示器的空间中(或者第二台显示器应该是)现在起初我连接了第二台显示器以将其拿回来,但它没有显示出来。监视器设置使得主监视器 (1) 位于新监视器 (2) 的左侧。我不得不将 (2) 拖到 (1) 的左侧,此时它出现了,我能够将它拖回主窗口,一切正常。我提到这一点是因为我认为每个监视器编号的分辨率都是相对于它自身的。多显示器是一个巨大的坐标平面吗?
我想知道的是,当我从注册表(Form.left 和 Form.top)中获取位置编号时,有没有办法根据系统可用的内容来检查它?这不是一个大问题,但我知道我会让客户打电话最终问:“它正在加载,但我找不到它!”并希望尽可能避免这些电话。
谢谢大家
【问题讨论】:
标签: registry position screen-resolution