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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.02.2008, 20:26   #1
NeiL
Пользователь
 
Регистрация: 28.11.2007
Сообщений: 49
По умолчанию Cursor

Господа программисты... Возник вопрос: Как сделать, чтобы курсор мыши передвигался (на форме в компоненте panel) через заданное количество пикселей. То есть если задать два то курсор передвигается каждый раз на 2 пикселя (в любом направлении).
NeiL вне форума Ответить с цитированием
Старый 13.02.2008, 20:30   #2
B_N
Новичок
Джуниор
 
Регистрация: 18.01.2008
Сообщений: 1,720
По умолчанию

через GetCursorPos и SetCursorPos
B_N вне форума Ответить с цитированием
Старый 13.02.2008, 20:43   #3
Altera
Старожил
 
Аватар для Altera
 
Регистрация: 29.01.2008
Сообщений: 2,406
По умолчанию

Как это так???
Altera вне форума Ответить с цитированием
Старый 13.02.2008, 20:45   #4
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

вот на скорую руку написал чего-то.
Код:
var
  Form1: TForm1;
  old: TPoint;

const
  delta = 10;

implementation

{$R *.dfm}

procedure TForm1.Panel1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
var
  flag: boolean;
  cur: TPoint;
begin
  GetCursorPos(cur);
  cur.x := cur.X - x;
  cur.Y := cur.Y - y;
  flag := false;
  if (x mod delta <> 0) then
  begin
    if old.X > x then x := x - x mod delta
    else x := x + delta - x mod delta;
    flag := true;
  end;
  if (y mod delta <> 0) then
  begin
    if old.y > y then y := y - y mod delta
    else y := y + delta - y mod delta;
    flag := true;
  end;
  if flag then
  begin
    cur.x := cur.x + x;
    cur.y := cur.y + y;
    SetCursorPos(cur.x,cur.y);
    old.X := x;
    old.Y := y;
  end;
end;
не самый лучший вариант конечно, оптимизировать и оптимизировать, но вроде ботает )
pu4koff вне форума Ответить с цитированием
Старый 13.02.2008, 20:45   #5
Карась
Участник клуба
 
Аватар для Карась
 
Регистрация: 26.10.2007
Сообщений: 1,244
По умолчанию

Цитата:
Сообщение от Altera Посмотреть сообщение
Как это так???
Привязка к "сетке".....
Умом Россию не понять, пока не выпито ноль пять,
А если выпито ноль пять всё делом кажется не хитрым,
Попытка глубже понимать уже попахивает литром...
Карась вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
error creating cursor handle? Geddar Общие вопросы Delphi 2 31.05.2008 15:19
Cursor in Control NeiL Общие вопросы Delphi 1 09.02.2008 16:00