Как предотвратить перемещение курсора мыши в системе C ++ с помощью пользовательского курсора?

Я пишу приложение OpenGL / DX, в котором я читаю WM_INPUT сообщения в WndProc() переместить пользовательский курсор мыши. Системный курсор мыши скрыт через ShowCursor(false) когда это закончено / в окне приложения.

Проблема в том, что системный курсор мыши все еще движется, когда я двигаю мышь. Таким образом, оба курсора (обычный системный курсор и пользовательский курсор в моем приложении) перемещаются одновременно. То же самое касается и щелчков мышью.

Итак, мой вопрос: как я могу предотвратить перемещение (и щелчок) системного курсора мыши во время работы приложения, чтобы функционировал только пользовательский курсор мыши?

0

Решение

Курсор только для отображения. Скрытие курсора по умолчанию и рисование собственного не повлияет на перемещение и щелчок.

Я думаю, есть две возможности, что вы делаете:

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

  2. Если вы полностью управляете мышью с помощью чего-то вроде DirectInput, опять же, вы должны использовать ClipMouse.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]