Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.10.02;
Скачать: 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 вся ветка

Текущий архив: 2005.10.02;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.031 c
1-1126201432
dRake
2005-09-08 21:43
2005.10.02
Как починить дебаггер?


1-1126271263
Yuri Btr
2005-09-09 17:07
2005.10.02
Установка иконки программы


3-1124250889
rentgen
2005-08-17 07:54
2005.10.02
Как построить правильно запрос SELECT+OR+AND


9-1117189941
keal
2005-05-27 14:32
2005.10.02
обход преград в warcraft е


6-1118055373
-=S.S=-
2005-06-06 14:56
2005.10.02
Процесс который привязан к порту.