Показать сообщение отдельно
  #3  
Старый 06.11.2014, 07:19
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Цитата:
Сообщение от Gareth
...Как можно отловить движение мыши по оси Y, то-есть влево-вправо ?
Первое что приходит в голову, это ловить перемещение курсора у экземпляра класса TMouse в цикле таймера, примерно так
Код:
var
 dX,mX: integer;
 KeyDwn: boolean;

procedure TForm1.Timer1Timer(Sender: TObject);
var
 ms: TMouse;
begin
 Timer1.Interval:= 100;
 dX:= ms.CursorPos.X;

 if (mX > dX) and (not KeyDwn) then
  begin
   keybd_event({A} 65, 0, KEYEVENTF_EXTENDEDKEY, 0);
   KeyDwn:= true;
  end;

 if (mX < dX) and (not KeyDwn) then
  begin
   keybd_event({D} 68, 0, KEYEVENTF_EXTENDEDKEY, 0);
   KeyDwn:= true;
end;

 if (mX = dX) and (KeyDwn) then
  begin
   keybd_event(65, 0, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);
   keybd_event(68, 0, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);
  end;

 if mX = dX then KeyDwn:= false;
 mX:= dX;
end;
только правда у грызуна ося Y это "вверх-вниз"
Ответить с цитированием