Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.06.2012, 14:24   #1
xslamerx
Новичок
Джуниор
 
Регистрация: 06.06.2012
Сообщений: 2
По умолчанию смещение курсора на 1px

добрый день, в delphi не силён, но немного понимаю. Цель сделать небольшую програмку которая при запуске шевелила бы мышью на 1 пиксель от текущих координат туда-обратно по любой оси. нашел код

procedure TForm1.Timer1Timer(Sender: TObject); {данная ф-ия каждую секунду смещает курсор на (0,0)}
var
p: TPoint;
x_drift,y_drift:integer;
begin
x_drift:=StrToInt(Edit1.Text);
y_drift:=StrToInt(Edit2.Text);
if GetCursorPos(p)=true then SetCursorPos(p.X+x_drift,p.Y+y_drif t);
end;

procedure TForm1.Start(Sender: TObject); {по нажатию на кнопку запускается работа программы}
begin
Timer1.Enabled:=true;
BitBtn1.Visible:=false;
BitBtn2.Visible:=true;
end;

procedure TForm1.Stop(Sender: TObject); {по нажатию на кнопку останавливается работа программы}
begin
Timer1.Enabled:=false;
BitBtn2.Visible:=false;
BitBtn1.Visible:=true;
end;




но тут немного не то, пытался менять значения Х и У не вышло курсор уходит в левый верхний угол экрана. Помогите чем сможете ))
xslamerx вне форума Ответить с цитированием
Старый 06.06.2012, 22:47   #2
3D Hunter
Сумрачная тень
Форумчанин
 
Аватар для 3D Hunter
 
Регистрация: 05.03.2009
Сообщений: 689
По умолчанию

Тут силы не видно не только в делфи, но и в логике. А как вы думаете, почему только вправо и вниз он смещается? Правильно, потому что дельта-значения только положительные. И задача немного сложнее, чем обычный random, уже потому, что придется контролировать признак ухода с основной точки, и следующим шагом менять координаты в обратную сторону по осям.
"ковыряю изнутри" (с)

Последний раз редактировалось 3D Hunter; 06.06.2012 в 22:49.
3D Hunter вне форума Ответить с цитированием
Старый 06.06.2012, 23:17   #3
xslamerx
Новичок
Джуниор
 
Регистрация: 06.06.2012
Сообщений: 2
По умолчанию

На минус я пытался менять и курсор уходил в левый верхний угол
xslamerx вне форума Ответить с цитированием
Старый 06.06.2012, 23:28   #4
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Код:
x_drift,y_drift:integer;

procedure TForm1.Timer1Timer(Sender: TObject); {данная ф-ия каждую секунду смещает курсор на (0,0)}
var
p: TPoint;
begin
if GetCursorPos(p)=true then begin
SetCursorPos(p.X+x_drift,p.Y+y_drift);
x_drift:=-x_drift;
y_drift:=-y_drift;
end;
end;

procedure TForm1.Start(Sender: TObject); {по нажатию на кнопку запускается работа программы}
begin
x_drift:=StrToInt(Edit1.Text);
y_drift:=StrToInt(Edit2.Text);
Timer1.Enabled:=true;
BitBtn1.Visible:=false;
BitBtn2.Visible:=true;
end;

procedure TForm1.Stop(Sender: TObject); {по нажатию на кнопку останавливается работа программы}
begin
Timer1.Enabled:=false;
BitBtn2.Visible:=false;
BitBtn1.Visible:=true;
end;
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA на форуме Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Смещение pastuhdima Помощь студентам 0 19.11.2011 00:37
Смещение Зод Win Api 1 26.08.2011 13:40
смещение операторов sasha.gt Помощь студентам 0 14.06.2011 21:29
Смещение рисунка skrudjmagdak Общие вопросы Delphi 5 27.03.2010 15:23
Смещение рамки выделения ячейки (курсора), относительно текущей вниз. hugoboss Microsoft Office Excel 2 19.01.2008 11:31