On-line: гостей 0. Всего: 0 [подробнее..]
АвторСообщение



Пост N: 617
Зарегистрирован: 17.06.10
ссылка на сообщение  Отправлено: 05.12.21 14:02. Заголовок: Текущий монитор


На компе >1 монитора. Как можно узнать номер монитора на котором находится окно моего приложения ?

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 6 [только новые]


постоянный участник


Пост N: 1732
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 06.12.21 19:53. Заголовок: WinApi функция Monit..


WinApi функция MonitorFromWindow

В исходниках MiniGUI есть файл c_monitor.c, можно портировать,
также есть пример использования функций для работы с несколькими мониторами - MiniGUI\SAMPLES\BASIC\Multi_Monitor

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 618
Зарегистрирован: 17.06.10
ссылка на сообщение  Отправлено: 06.12.21 21:30. Заголовок: Спасибо. Я тут пораз..


Спасибо. Я тут поразбирался с VirtualScreen, примерно понял как мониторы распределяются по общему ректанглу. Теперь надо научиться считывать DC с этих мониторов. Полагаю, что надо делать монитор активным и DetDesctopWindow()
Хотя..

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 1734
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 06.12.21 21:58. Заголовок: HDC GetWindowDC( ..


HDC GetWindowDC(
[in] HWND hWnd
);

Parameters
[in] hWnd

A handle to the window with a device context that is to be retrieved.
If this value is NULL, GetWindowDC retrieves the device context for the entire screen.
If this parameter is NULL, GetWindowDC retrieves the device context for the primary display monitor.
To get the device context for other display monitors, use the EnumDisplayMonitors and CreateDC functions.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 619
Зарегистрирован: 17.06.10
ссылка на сообщение  Отправлено: 06.12.21 22:12. Заголовок: Правильно ли я понял..


Правильно ли я понял, что EnumDisplayMonitors перечисляет хендлы мониторов и посредством CreateDC() можно считать DC каждого ?

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 1736
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 06.12.21 22:25. Заголовок: Так утверждает MS :..


Так утверждает MS

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 1737
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 06.12.21 22:30. Заголовок: И почитайте документ..


И почитайте документацию CreateDC
там есть такой интересный момент

If there are multiple monitors on the system, calling CreateDC(TEXT("DISPLAY"),NULL,NULL,NULL) will create a DC covering all the monitors.

Если такая ситуация Вас устроит, то и EnumDisplayMonitors вроде бы и получается, что не нужен.

Спасибо: 0 
ПрофильЦитата Ответить
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 327
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет