Как я могу получить положение мыши вне диалога постоянно? (МФЦ)

0

Мой вопрос: как я постоянно получаю позицию мыши, даже если она не находится в каких-либо диалогах, в mfc?

  • 0
    Одним из способов является создание MouseCapture - пока мышь находится в вашем окне, вы будете получать сообщения о перемещении мыши.
  • 1
    @Mark SetCapture - не очень надежное решение. Вы не можете контролировать, когда теряете захват мыши. Вы получаете уведомление, когда WM_CAPTURECHANGED его ( WM_CAPTURECHANGED ), но не можете предотвратить его. Плюс, это ограничено окнами переднего плана.
Показать ещё 7 комментариев
Теги:
mfc

2 ответа

0
Лучший ответ

Вы всегда можете установить крючок для мыши. Это немного перебор, но, это даст вам то, что вы хотите.

2

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

Если, с другой стороны, вам нужна непрерывная информация о положениях мыши, вы можете установить таймер ( SetTimer) и вызвать GetCursorPos.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню