Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.05.22;
Скачать: CL | DM;

Вниз

Вопрос про мышь   Найти похожие ветки 

 
dim- ©   (2003-03-22 19:47) [0]

В dll надо написать обработку событий мыши (клики и координаты), как узнать на каком компоненте произошел клик или текущие кооординаты если dll подключила другая программа и активизировала обработку мыши


 
DrPass ©   (2003-03-22 20:18) [1]

SetWindowsHookEx позволит узнать тебе координаты и виндовый дескриптор контрола, получившего мышиное событие. О том, какая это компонента, и компонента ли это вообще, ты не узнаешь - для винды нет такого понятия


 
dim- ©   (2003-03-22 21:08) [2]

Нашел в факе:
function SetHook:Boolean;
begin
if HookedAlready then exit;
ourHook:=SetWindowsHookEx(WH_MOUSE,@HookProc,HInstance,0);
HookedAlready:=True;
end;

ставит хук

function HookProc(Code:integer; wParam: Word; lParam: Longint): Longint;
begin
if (wParam=WM_LBUTTONDOWN) then MessageBeep(0);
result:=CallNextHookEx(ourHook,Code,wParam,lParam);
^^^^^^^^^^^^^^^^^^^^^^^^^^^^а в этой зависает
end;


 
DrPass ©   (2003-03-22 21:22) [3]

Почему зависает, сказать трудно - возможно, просто не нужно было указывать дескриптор модуля (если HookProc в той же проге, что и SetWindowsHookEx, то дескриптор не указывается)
SetWindowsHookEx(WH_MOUSE,@HookProc,0,0);
В крайнем случае просто убери CallNextHookEx, прога все равно будет работать


 
dim- ©   (2003-03-23 00:20) [4]

не будет, а зависало надо было вызывать "function HookProc" как stdcall, но на других окнах она не реагирует (при щелчке на експлорере вобще перегружает експлорер), а надо чтобы обрабатывались нажатия на других программах


 
dim- ©   (2003-03-24 14:01) [5]

А все-же, как можно из dll отловить события мышки над формой вызвовшей эту dll?



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

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

Наверх




Память: 0.47 MB
Время: 0.011 c
3-70100
Андрей
2003-04-29 16:13
2003.05.22
База данных сетевой компании


1-70212
Nikos
2003-05-11 11:42
2003.05.22
Приведите пример отслеживания событий в динамически созданных объ


4-70562
Kruger
2003-03-23 18:10
2003.05.22
Popup menu


8-70402
M4st4K
2003-02-11 18:23
2003.05.22
Как наити компоненту


4-70555
Axis_of_Evil
2003-03-21 15:42
2003.05.22
FindEditEx