Я пишу приложение OpenGL / DX, в котором я читаю WM_INPUT
сообщения в WndProc()
переместить пользовательский курсор мыши. Системный курсор мыши скрыт через ShowCursor(false)
когда это закончено / в окне приложения.
Проблема в том, что системный курсор мыши все еще движется, когда я двигаю мышь. Таким образом, оба курсора (обычный системный курсор и пользовательский курсор в моем приложении) перемещаются одновременно. То же самое касается и щелчков мышью.
Итак, мой вопрос: как я могу предотвратить перемещение (и щелчок) системного курсора мыши во время работы приложения, чтобы функционировал только пользовательский курсор мыши?
Курсор только для отображения. Скрытие курсора по умолчанию и рисование собственного не повлияет на перемещение и щелчок.
Я думаю, есть две возможности, что вы делаете:
Если вы просто хотите отобразить пользовательский курсор, вы должны просто скрыть системный курсор, когда мышь находится внутри вашего окна. Таким образом, пользователь знает, что он делает, когда курсор находится за пределами вашего окна. Или вы можете ограничить мышь внутри вашего окна с помощью ClipMouse.
Если вы полностью управляете мышью с помощью чего-то вроде DirectInput, опять же, вы должны использовать ClipMouse.
Других решений пока нет …