Главная страница
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.063 c
3-1124531396
Mortal
2005-08-20 13:49
2005.10.02
Transact-SQL: Восстановление базы в MSSQL.


4-1123222622
WebSQLNeeder
2005-08-05 10:17
2005.10.02
Как на Делфи изменить настройки прокси-сервера ИЕ?


9-1117088731
Архитектор
2005-05-26 10:25
2005.10.02
[Delphi, GLScene] Оптимизация...


1-1126176960
Рафик
2005-09-08 14:56
2005.10.02
ListBox1 - Двойной щелчок


3-1124259146
Strech
2005-08-17 10:12
2005.10.02
Получение доступа к BLOB полям в таблицах dBase (dbf) через ADO