Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.07.16;
Скачать: CL | DM;

Вниз

Шаг мышки   Найти похожие ветки 

 
Laymer   (2006-05-31 13:04) [0]

Доброе время суток!!!
у меня есть объект Image. Как задать шаг мышки, чтоб она двигалась через каждые 20 пикселей????
Заранее благодарен!!!


 
Kolan ©   (2006-05-31 13:17) [1]

В MouseMove умножай X И Y на 20 и делай SetCursorPos


 
Eraser ©   (2006-05-31 13:21) [2]


> Kolan ©   (31.05.06 13:17) [1]

может лучше прибавлять :)


 
Laymer   (2006-05-31 13:37) [3]

Это все глобальные координаты мыши.
А есть ли возможность изменение только в пределе этого объекта???
Вот что я зделал

   ...
   var p: TPoint;
   ...
   p.X := Self.Left + PoleUser.Left + x  + 20;
   p.Y := Self.Top + PoleUser.top + y + 20;
   Mouse.CursorPos := p;


Работает не правельно, мышь не туда куда надо. Что еще надо учесть???


 
antonn ©   (2006-05-31 13:39) [4]

нужно div"ить

x:=(x div 20)*20; //примерно так:)

и не саму мышку, а курсор.


 
Eraser ©   (2006-05-31 13:41) [5]


> Laymer   (31.05.06 13:37) [3]

см. ф-ю перевода клиентских координат в экранные ClientToScreen.


 
_RusLAN ©   (2006-05-31 15:29) [6]

Laymer   (31.05.06 13:37) [3]
И почему не учитывается в какую сторону пользователь двинул мышку?

p.X := Self.Left + PoleUser.Left + x  + 20;

Он что только влево двигает?. а если в право - тогда ж надо отнимать 20.


 
StriderMan ©   (2006-05-31 15:42) [7]

1. Нужно учитывать начальные координаты мыши
2. Умножать нельзя, а то очень быстро будет бегать мышь.

Долго я с подобной задачей возился (делал визуальный редактор), там основная проблема была при перетаскивании нескольких объектов.

вобщем задачу решил, хотя на пальцах объяснить не смогу. Основная идея в хранении относительного смещения мыши, и когда оно достигает определенного значения - двигать реальный указатель.

задача по началу кажется тривиальной, но это не так.


 
zorik ©   (2006-06-01 10:06) [8]

Можна сам курсор мыши сделать невидимым, а рисовать свой курсор. Разбить область сеткой. И отрисовывать свой курсор в том узле, ближе к которому координаты мыши


 
RameS   (2006-06-01 10:39) [9]

согласен с zorik, если есть возможность, можно отключить стандартный курсор и выводить свой с нужным шагом (например, так div 20 * 20)
:)



Страницы: 1 вся ветка

Текущий архив: 2006.07.16;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.027 c
2-1151154760
Rembo
2006-06-24 17:12
2006.07.16
Значение поля всех записей в таблице


8-1137923657
Compton's G
2006-01-22 12:54
2006.07.16
Отменить действие при рисовании


15-1150640191
***(H@kker)***
2006-06-18 18:16
2006.07.16
Windows SDK и MSDN


15-1149952790
Змей:)
2006-06-10 19:19
2006.07.16
Кто знает как сделать воздушного змея?


15-1150393800
TUser
2006-06-15 21:50
2006.07.16
Плагин бы ...