Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.04 c
2-1151366523
fantasy
2006-06-27 04:02
2006.07.16
RaveReport


5-1124462652
alba
2005-08-19 18:44
2006.07.16
listview пропадает scrollbar


1-1149059340
.ruslan
2006-05-31 11:09
2006.07.16
ListView и строки разных цветов, чередование


15-1150465354
Polevi
2006-06-16 17:42
2006.07.16
смешно


2-1151248740
b.o.n.d.007
2006-06-25 19:19
2006.07.16
TChart




   Наверх