Вниз
Скачать: CL | DM;

Глобальное положение мыши   Найти похожие ветки 

 
Alex_C ©   (2005-09-13 11:59) [0]

Дано: есть приложение с несколькими формами.
Надо: написать ф-цию. которая отслеживала бы текещее положение мыши где бы она не находилась.
Если просто отслеживаю WM_MOUSEMOVE - то отслеживается только у конкретного окна.


 
Наиль ©   (2005-09-13 12:28) [1]

Глупо, но верно:
по таймеру Mouse.CursorPos


 
kblc ©   (2005-09-13 12:42) [2]

Windows.GetCursorPos(var lpPoint: TPoint): LongBool;


 
Alex_C ©   (2005-09-13 16:51) [3]

C a-wbtq которая ОПРЕДЕЛЯЕТ текущее положение мыши - тут все понятно, GetCursorPos, а вот как ОТСЛЕЖИВАТЬ перемещение по всему экрану, чтоб как только мышь окажется в како-то его области, делать какое либо действие? Как я уже писал выше, если использовать WM_MOUSEMOVE то отслеживается только в той форме, где оно определено.


 
Big Joe ©   (2005-09-13 17:20) [4]

procedure TForm1.FormClick(Sender: TObject);
var
 MyMouse: TMouse;
begin
 Form1.Caption := inttostr(MyMouse.CursorPos.x) + "Х " +
 inttostr(MyMouse.CursorPos.y);
end;


 
Кефир87 ©   (2005-09-14 00:35) [5]


var
 p:TPoint;
begin
 GetCursorPos(p);
 if (p.x>10)and(p.x<50)and(bla-bla-bla) then
    ShowMessage("Ваша мышь там");
end;


 
Юрий Зотов ©   (2005-09-14 00:45) [6]

> Big Joe ©   (13.09.05 17:20) [4]
1. И будет Access Violaion.
2. Вы ветку читали?

> Кефир87 ©   (14.09.05 00:35) [5]
Вы ветку читали?

> Alex_C ©   (13.09.05 16:51) [3]
Нужен глобальный хук на мышь. В сети примеров полно, ищите по ключевому слову SetWindowsHook.


 
Германн ©   (2005-09-14 01:36) [7]

2 Юрий Зотов ©   (14.09.05 00:45) [6]
А из сабжа, имхо, не следует необходимость "глобального хука" :(


> Дано: есть приложение с несколькими формами.
> Надо: написать ф-цию. которая отслеживала бы текещее положение
> мыши где бы она не находилась.

Это, в частности, можно понять и как "отслеживание мыши в одном приложении имеющим несколько форм. В каком бы месте, любой формы(окна) приложения, она бы не находилась".


 
Юрий Зотов ©   (2005-09-14 04:36) [8]

> Германн ©   (14.09.05 01:36) [7]

Разве в ветках надо читать только сабж? А то, что написали ранее - не надо?

См. [3]:
"... как ОТСЛЕЖИВАТЬ перемещение по всему экрану..."

Что и есть глобальный хук.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.024 c
1-1126339930
Alpine
2005-09-10 12:12
2005.10.02
Как получить доступ к окну ?


11-1107451723
Kobik
2005-02-03 20:28
2005.10.02
Компонент типа THotKey.


14-1126696545
марина
2005-09-14 15:15
2005.10.02
Не подскажете как генерировать случайные числа?


4-1123564499
ANB
2005-08-09 09:14
2005.10.02
Как получить номер версии своей программы ?


1-1126321927
Гриха
2005-09-10 07:12
2005.10.02
Управление функциональными клавишами




   Наверх