Здравствуйте, ak545, Вы писали:
A>Проблема — мышь находится в координатах 0,0 (левый верхний угол экрана). Но мы продолжаем упорно двигать мышь вверх и влево. Событие WM_MOUSEMOVE при этом уже не возникает, т.к. система решила, что УСЁ, дальше двигать нельзя. Но, тем не менее, мне надо как-то узнать о том, что мышь все же продолжает двигаться в "запрещенном" направлении. Как бы об этом узнать, не изменяя программным образом позицию курсора мыши (или же изменяя)? A>Пример — BatlleField 1942, летаем на самолете, или катаемся на танке и крутим башней. В этой программе мы можем бесконечно двигать мышкой в одном направлении. В класическом же решении, когда курсор мыши упирается в границу экрана (или окна на весь экран), то сообщения от мыши перестают поступать. A>Мысли есть, как отловить факт движения мыши, когда курсор мыши находится на границе экрана?
В играх курсор мыши постоянно позиционируется в центр экрана, а по экрану ползает суррогат, которым управляешь сам. Можешь сделать похожим образом — договариваешься сам с собой, что мышу позволено двигаться только в нужном тебе прямоугольнике. Если мыша выходит за него — позиционируешь на границу этого прямоугольника. Прямоугольник делаешь на пару пискселей меньше чем экран и все.