![]() |
|
|
![]()
|
|
| mrgloom |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 829 Регистрация: 8.6.2011 Репутация: нет Всего: нет |
Допустим необходимо по нажатию клавиши сделать перетаскивание мыши более медленным(допустим мы перетаскиваем некий объект).
Есть событие OnMouseMove(UINT nFlags, CPoint point) там мы имеет текущую точку, по идее мы можем завести некий счётчик который сдвигает наш объект на 1 пиксель при условии что мы мышку перетащили на N пикселей, тем самым замедлив перетаскивание, но проблема в том, что сам курсор мышки получается будет двигаться как обычно и будет отставать от объекта, как можно и его замедлить? Добавлено через 13 секунд хотя вроде нашел http://msdn.microsoft.com/en-us/library/wi...v=vs.85%29.aspx |
|||
|
||||
| mrgloom |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 829 Регистрация: 8.6.2011 Репутация: нет Всего: нет |
похоже такой вариант не действует.
на нажатие точки мыши OnLButtonDown я записываю начальную точку startPt, потом на событие OnMouseMove я имею текущую точку currPt, соответственно могу вычислить вектор и сохраняю направление вектора и сокаращаю длину в 2 раза, потом в конце OnMouseMove проставляю через SetCursorPos новую конечную точку вектора, но в итоге получается мигание и перебегание вектора видимо между тем что я проставляю и текущим положением. |
|||
|
||||
| akizelokro |
|
|||
![]() Крокодил ![]() ![]() Профиль Группа: Участник Сообщений: 761 Регистрация: 30.7.2007 Репутация: нет Всего: 5 |
Пишут, что в регистре правятся настройки мыши. Можешь на время работы программы задать их там.
-------------------- a = a + b; b = a - b; a = a - b; |
|||
|
||||
| mrgloom |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 829 Регистрация: 8.6.2011 Репутация: нет Всего: нет |
дело в том, что у меня скорость должна менять по нажатию на клавишу, т.е. может меняться несколько раз за время работы программы.
|
|||
|
||||
| akizelokro |
|
|||
![]() Крокодил ![]() ![]() Профиль Группа: Участник Сообщений: 761 Регистрация: 30.7.2007 Репутация: нет Всего: 5 |
-------------------- a = a + b; b = a - b; a = a - b; |
|||
|
||||
| mrgloom |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 829 Регистрация: 8.6.2011 Репутация: нет Всего: нет |
такое решение работает, только проблема в том, что эта функция меняет глобальные настройки системы, т.е. можно изменить скорость мышки в системе ,которая будет сохраняться и после выключения программы, если не исправить на старое значение или если программа упадёт до этого.
Это сообщение отредактировал(а) mrgloom - 13.9.2013, 11:18 |
|||
|
||||
| akizelokro |
|
|||
![]() Крокодил ![]() ![]() Профиль Группа: Участник Сообщений: 761 Регистрация: 30.7.2007 Репутация: нет Всего: 5 |
Для возврата первоначальных настроек в этой ссылке есть ссылки (для опроса) GETMOUSESPEED что-то такое. И, значит, что надо писать программу так, чтобы она не падала. -------------------- a = a + b; b = a - b; a = a - b; |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Visual C++/MFC/WTL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |