记住关闭了哪个显示应用程序

时间:2010-10-27 20:49:21

标签: forms vb6

相当简单的问题:如何告诉VB6应用程序记住它关闭的显示器,然后再次启动应用程序时,在该监视器上显示主窗体?

2 个答案:

答案 0 :(得分:3)

为什么不在退出前保存窗口的位置和大小,然后在启动时恢复?你需要通过显示器定位吗?

答案 1 :(得分:3)

您无需“了解”所有显示器。在这种情况下,您只需multi-monitor agnostic

为了这个例子,假设你有一个两个监视器设置,辅助设备左边的主设备,两个监视器的分辨率都是1024x768。

不要将您的应用视为在多显示器环境中运行,而应将其视为在单个桌面上运行的应用程序,即2048x768。

在这种情况下,您需要做的就是确定桌面上的位置,Windows负责其余部分。您无需担心它所在的监视器:如果您将窗口设置为显示在框(0,0) - (1023,767)内,则它将显示在主要监视器上。如果合作伙伴在框(1024,0) - (2047,767)内,则它出现在辅助监视器上。

这只是要求Windows告诉您应用程序窗口的大小和位置的情况。为此,您需要查看GetWindowRect()和SetWindowPos()。有一个如何使用GetWindowRect()behind this link的例子。 (VB可能有一种原生的方式来获得这个而不需要使用Win32 API,但我没有在我面前使用VB6进行测试)。