Текущий архив: 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.024 c