:: Visual Foxpro, Foxpro for DOS
Два экрана - два окна
leonaha
Автор

Сообщений: 62
Дата регистрации: 26.01.2010
Доброго дня форумчане!
Вопрос такой: Есть два экрана, два монитора. Рабочий стол расширен на оба. Программа выводит два окна, главное и ведомое.
Вопрос: как сделать, чтобы ведомое всегда выводилось на второй моник, распахнутое на весь экран, главное на первый?
Как отследить, что второй моник присутствует. Есть такое средство в фоксе?
Гонять ведомое окно мышкой не вариант, моники в разных комнатах.
Ratings: 0 negative/0 positive
Re: Два экрана - два окна
Аспид

Сообщений: 3475
Откуда: Москва
Дата регистрации: 01.04.2005


------------------
Ratings: 0 negative/0 positive
Re: Два экрана - два окна
Chemberzhy

Сообщений: 13142
Откуда: Измаил
Дата регистрации: 28.04.2009
leonaha
Как отследить, что второй моник присутствует.
Win API

leonaha
Есть такое средство в фоксе?
Штатно нет. Это системный вопрос, а не прикладной. Решение выше.

leonaha
как сделать, чтобы ведомое всегда выводилось на второй моник
leonaha
распахнутое на весь экран
Куча вариантов. Буквально недавно обсуждалось, ищите по форуму.

leonaha
главное на первый
Win API+позиционирование окна
Ratings: 0 negative/0 positive
Re: Два экрана - два окна
alextash

Сообщений: 2281
Откуда: НСК
Дата регистрации: 03.05.2006
Самое простое -
при инициализации окна
у 1 го - Left = 0
у 2 го Left = 1921
при условии, что мониторы FullHD

Определить размерность мониторов через -
GetDeviceCaps
указатель на драйвер - GetHdc



Исправлено 2 раз(а). Последнее : alextash, 19.12.16 09:02
Ratings: 0 negative/0 positive
Re: Два экрана - два окна
pasha_usue

Сообщений: 3649
Откуда: Е-бург
Дата регистрации: 06.10.2006
А вот, кстати, хреново получается через WinApi мониторы перечислить. Функция EnumDisplayMonitors требует создания CallBack функции, что на фоксе ну очень не тривиально.

Но, если получилось перечислить мониторы, то через GetMonitorInfo будет понятно, как они расположены, и тогда можно тупо передвинуть окно куда требуется.
Ratings: 0 negative/0 positive
Re: Два экрана - два окна
pasha_usue

Сообщений: 3649
Откуда: Е-бург
Дата регистрации: 06.10.2006
Был не прав. Можно это сделать:
www.foxite.com
Ratings: 0 negative/0 positive
Re: Два экрана - два окна
Berloga

Сообщений: 72
Откуда: Нефтекамск
Дата регистрации: 19.12.2007
pasha_usue
Но, если получилось перечислить мониторы, то ...
loWMI = Getobject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
loRes = loWMI.ExecQuery("SELECT DeviceID, ScreenHeight, ScreenWidth FROM Win32_DesktopMonitor")
For Each loItem In loRes
? loItem.DeviceID, TRANSFORM(loItem.ScreenWidth)+"x"+TRANSFORM(loItem.ScreenHeight)
Endfor
ЫЫЫ
Ratings: 0 negative/0 positive
Re: Два экрана - два окна
alextash

Сообщений: 2281
Откуда: НСК
Дата регистрации: 03.05.2006
Berloga
pasha_usue
Но, если получилось перечислить мониторы, то ...
loWMI = Getobject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
loRes = loWMI.ExecQuery("SELECT DeviceID, ScreenHeight, ScreenWidth FROM Win32_DesktopMonitor")
For Each loItem In loRes
? loItem.DeviceID, TRANSFORM(loItem.ScreenWidth)+"x"+TRANSFORM(loItem.ScreenHeight)
Endfor
ЫЫЫ

Win 8.1 два монитора.
но данный код не работает.
выдаёт только 1 монитор, а ScreenHeight и ScreenWidth - Null
Ratings: 0 negative/0 positive
Re: Два экрана - два окна
Berloga

Сообщений: 72
Откуда: Нефтекамск
Дата регистрации: 19.12.2007
alextash
Win 8.1 два монитора.
но данный код не работает.
выдаёт только 1 монитор, а ScreenHeight и ScreenWidth - Null
Действительно
Anyone having trouble getting screen resolution from WMI on windows 8?



Исправлено 1 раз(а). Последнее : Berloga, 06.02.17 12:27
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 28 akvvohinc  (Гостей: 27)

© 2000-2024 Fox Club 
Яндекс.Метрика