支持多显示器

时间:2009-10-27 14:53:01

标签: requirements multiple-monitors

我想在我的应用程序中提供多显示器支持。

在过去,我有一种简单的观点,即多显示器支持只是缺乏开放的多显示器相关错误。如果它似乎适用于多显示器设置,那么它支持多显示器,对吗?

但我想就此提出一些明确的要求。

我需要遵守哪些基本要求,以满足大多数用户的期望,以便他们可以说“是这个应用程序支持多显示器”?

例如,一个明显的要求是所有窗口/消息框/工具提示等必须在应用程序所在的同一监视器上打开。这些窗户的任何一个孩子都必须和父母在同一台监视器上打开。

你能想到更多吗?在任何地方都有关于此的指导原则吗?

4 个答案:

答案 0 :(得分:8)

  • 如果应用程序最后一次用于多显示器设置,并且第二次启动而没有插入任何其他显示器,请让您的应用程序感知这一点,并将所有框和工作区域重新放回主屏幕。 / LI>

(Eclipse没有这样做,它让我感到厌烦)

答案 1 :(得分:3)

让我感到非常高兴的是一个应用程序,它可以记住所有窗口的位置(无论是主显示器还是第二个显示器),并在启动应用程序时以相同的布局重新显示所有窗口。

答案 2 :(得分:1)

我一直认为这是操作系统的责任。它似乎在Mac上。唉,我在Windows中遇到了许多在双显示器上表现不佳的应用程序,尽管我倾向于将其归咎于视频卡。

我最大的抱怨是只坚持使用MDI界面的应用程序。如果您的屏幕空间有限,MDI很棒,但是当您实际拥有大量屏幕空间并希望浮动托盘/文档彼此分离时会非常烦人。

答案 3 :(得分:1)

从个人经历(GDI和Direct3D9无论如何)要注意的几个恶意:

  • 当两个显示器具有不同的位深度时,用户将窗口展开以覆盖两个显示器或将其从一个显示器拖到另一个...如果您的应用程序没有预料到它会变得很难看。当系统可能将8位托盘化显示器与更高位深度的RGB显示器混合时,过去会更加令人头疼(尽管请注意,某些特殊应用仍然需要这样的配置)。

  • 在一个“D3D设备”上创建的Direct3D窗口如果将它们拖动到另一个显示器(全部或部分),可能需要注意。根据您设置设备的方式,Windows在其他显示器上不显示任何内容,或显示内容但具有大量CPU处理overhead(足以消除高帧速率)。 (无论如何,这在XP上都是如此)。