Цитата:
Сообщение от 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 это "вверх-вниз"