Вниз
Скачать: 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.025 c
1-1125945109
solenko
2005-09-05 22:31
2005.10.02
Чтение из реестра REG_MULTI_SZ


1-1126437466
Igor_thief
2005-09-11 15:17
2005.10.02
RAVE reports


2-1124073451
NightLord
2005-08-15 06:37
2005.10.02
Звук


4-1122822737
Duk_
2005-07-31 19:12
2005.10.02
Использование драйвера


14-1126638921
WonderfulDay
2005-09-13 23:15
2005.10.02
sv1021h vs sv4002h




   Наверх