Узнать находится ли курсор в ВИДИМОЙ части окна

211
07 февраля 2020, 13:40

Есть главное окно, на этом главном окне расположен некий визуальный компонент. Используя SetCapture в этот визуальный компонент всегда приходят сообщения от мышки.То есть даже если окно не в фокусе и по верх него есть другое окно.

Часть элемента видна часть загорожена другим окном. Сейчас сообщения приходят всегда, не важно курсор в видимой части или в загороженной.

И я бы хотел узнать по положению курсора и hwnd элемента находится ли курсор в видимой части окна. Чтобы игнорировать сообщения когда курсор движется по невидимой части.

Делал ли кто-нибудь что-то подобное?

Answer 1

SetCapture - предназначена для захвата управления мышью. При "захвате" наблюдается такое поведения: события поступают в обработчик, даже если мышь находится вне зоны действия окна. В default-обработчике событий - захват происходит автоматически. Для отключения такого поведения - используйте ReleaseCapture(), в большинстве случае вызов ReleaseCapture() ставят в click-событие, там где нежелательно такое поведение. Узнать состояние можно GetCapture(). Вызов ReleaseCapture() - не отменяет посыл окну сообщений WM_MOUSEMOVE и т п в случае когда событие действительно относится к даному окну (наоборот мышь не перехватывает в даном случае другое окно).

По координатам мыши - всегда можно узнать хандл окна, вызвав WindowFromPoint.

READ ALSO
Выдается ошибка при вызове функции front() в шаблоне очереди с++

Выдается ошибка при вызове функции front() в шаблоне очереди с++

Я делаю очередь с помощью шаблонаДобавляю туда элементы в виде структур, однако при вызове функции front() (которая должна выводить первую добавленную...

198
Поймать конец скролла на JQuery

Поймать конец скролла на JQuery

Если запустить ниже код, будет видно что производится автоматический скролл в конец объектаКогда пользователь скроллит вверх до объекта...

282
Прикрепить элемент к стенке браузера

Прикрепить элемент к стенке браузера

Необходимо прикрепить элемент к стенке браузера, чтобы тот взаимодействовал(шапка спускалась) вместе с прокруткой страницы внизНО, при этом...

238
Не распознает шрифт в Safaris

Не распознает шрифт в Safaris

Проблема в том, что проверяя свою верстку на iPhone, шрифты различаются с Android и WindowsКак это исправить?

215