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

Вниз

Передвижение курсора   Найти похожие ветки 

 
k-man   (2003-03-02 17:59) [0]

Возможно на этот вопрос уже отвечали, но нет времени искать.
Как из текущего положения курсора мыши передвинуть его на середину к примеру кнопки button1, но передвинуть плавно
чтобы пользователь видел откуда и куда переехал указатель?


 
Rouse_ ©   (2003-03-02 18:11) [1]

SetCursorPos

Желаю успехов


 
jack128 ©   (2003-03-02 18:23) [2]

Только чтобы юзер ВИДЕЛ перемещение курсора надо в цикле это перемещать например

for i := 100 to 200 do begin
SetCursorPos(i,i);
Sleep(55);
end;


 
k-man   (2003-03-02 20:56) [3]

Благодарен за ответы, но есть небольшая загвоздка:
Текущее положение и то в которое должен быть установлен
курсор всегда разные.
Как определить текущее ясно - GetCursorPos да и
новое положение известно. Соль в том чтобы
плавно как делает человек перевести курсор из одного
положения в другое, так что кода видимо будет больше.


 
Anatoly Podgoretsky ©   (2003-03-02 21:05) [4]

Используй LineDDA для получения промежуточных координат трассы.


 
Rouse_ ©   (2003-03-02 21:08) [5]

Ну а если вот так

procedure TForm1.Button1Click(Sender: TObject);
var
i: Integer;
x,y,x1,y1: Real;
P: TPoint;
begin
GetCursorPos(P);
X:= p.x;
Y:= p.y;
x1:= x/100; // Тут на основе нужных координат рассчитываем смещение
y1:= y/100;
for i:= 1 to 100 do
begin
x:=x-x1;
y:=y-y1;
SetCursorPos(Trunc(x),Trunc(y));
Sleep(50);
end;
end;


Желаю успехов


 
k-man   (2003-03-02 21:34) [6]

Спасибо Rouse, как видишь жизнь заставила
и я теперь тоже "двигаю курсор мышки" ну
и само собой компилирую программы.
k-man (lerroy@mail.ru)


 
jack128 ©   (2003-03-02 21:41) [7]

Тривиальная задача : найти уравнение прямой проходящей через 2 точки (x1, y1) (x2, y2)
y := (y2-y1)/(x2-x1)*x + y1-(y2-y1)/(x2-x1)*x1 ...
Подставляешь x c нужным шагом и вперед


 
k-man   (2003-03-03 20:17) [8]

Анатолий тут обмолвился о некой функции LineDDA,
но почитав справку я не получил вразумительного
ответа о том как ей воспользоваться. Особенно интересуют последние два параметра. Может кто задавался таким вопросом?


 
Anatoly Podgoretsky ©   (2003-03-03 20:22) [9]

Предпоследний это указатель на callback функцию, которая будет принимать зарактеристики следующей точки линии (само уравнение линии будет решаться внутри_, последнее использовать по своему вкусу, лучше просто не использовать.

Суть этой функции, в том, что в нее передаются начальные и конечные координаты, а функция выдет все промежуточные позиции точек, самым оптимальным образом.

То есть полнотью решает проблему и очень простая в использовании.



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

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

Наверх




Память: 0.48 MB
Время: 0.015 c
6-67406
чайник1
2003-02-26 10:03
2003.04.21
IdTCPServer / Client


1-67278
Serj
2003-04-11 15:27
2003.04.21
ComboBox


3-67121
Sherbacov
2003-03-29 16:57
2003.04.21
Что надежнее?(Paradox или Access)


7-67565
Mnch
2003-02-27 15:14
2003.04.21
Dos-прога не работает с COM-портом под Win98


1-67320
Sectey
2003-04-08 13:38
2003.04.21
Как заставит другую программу(процесс) записывать данные?