Главная страница
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.029 c
4-1144022231
XProger
2006-04-03 03:57
2006.07.16
Обойти OleVariant


8-1138709076
RBi
2006-01-31 15:04
2006.07.16
Где найти платные/бесплатные библиотеки для работы с PSD?


2-1151605595
resuS
2006-06-29 22:26
2006.07.16
Что такое StdIn?


4-1144230639
AlexeyT
2006-04-05 13:50
2006.07.16
Как определить отключенный сетевой диск?


2-1151673955
koha
2006-06-30 17:25
2006.07.16
Как отследить запущенную программу через winexec