Вспоминая, какое приложение отображения было закрыто - PullRequest
1 голос
/ 28 октября 2010

Довольно простой вопрос: как я могу сказать приложению VB6, что нужно помнить, на каком экране оно было закрыто, а затем, когда приложение запускается снова, отображать главную форму на этом мониторе?

Ответы [ 2 ]

3 голосов
/ 28 октября 2010

Вам не нужно «знать» обо всех мониторах.В этом случае вы просто являетесь независимым от нескольких мониторов .

. В этом примере предположим, что у вас есть две настройки монитора: основной слева от дополнительного, и обаМониторы имеют разрешение 1024x768.

Вместо того, чтобы думать о том, что ваше приложение работает в среде с несколькими мониторами, представьте его как приложение, работающее на одном рабочем столе 2048x768.

В этом случаевсе, что вам нужно сделать, это определить, где на рабочем столе он находится, а Windows позаботится обо всем остальном.Вам не нужно беспокоиться о том, на каком мониторе он находится: если вы установите Окно в поле (0,0) - (1023,767), то оно появится на основном.Если координаты находятся в поле (1024,0) - (2047,767), то оно появляется на дополнительном мониторе.

Это просто случай, когда Windows сообщает вам размер и положениеОкно приложения.И для этого вам нужно взглянуть на GetWindowRect () и SetWindowPos ().Есть пример того, как использовать GetWindowRect () за этой ссылкой .(VB может иметь собственный способ получить это, не прибегая к Win32 API, но у меня нет VB6, доступного передо мной для тестирования).

3 голосов
/ 28 октября 2010

Почему бы просто не сохранить местоположение и размер окна перед выходом, а затем восстановить его при запуске?Вам нужно позиционировать по монитору?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...