![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Клик мыши вне формы [D7, XP]
Calibr © (2007-01-17 18:16:00)Как определить что была кликнута мышь вне моего приложения и вне моего окна?
Calibr (2007-01-17 19:57:00) [1]
> FAskerQ © (17.01.07 18:46) [1]
А почему заменив WM_LBUTTONUP на WM_LBUTTONDBLCLK пример не работает?
Calibr (2007-01-17 18:47:00) [2]Спасибо!!!
FAskerQ (2007-01-17 18:46:00) [3]
var
HookHandle: hHook;
function HookProc(Code: integer; WParam: word; LParam: Longint): Longint; stdcall;
var
msg: PEVENTMSG;
begin
if Code >= 0 then
begin
result := 0;
msg := Pointer(LParam);
with Form1 do
case msg.message of
WM_LBUTTONUP:
begin
if WindowFromPoint(Mouse.CursorPos) <> Form1.Handle then
Caption:= 'была кликнута мышь вне моего приложения'
else
Caption:= 'была кликнута мышь на моем приложении'';
end;
end;
end else
result := CallNextHookEx(HookHandle, code, WParam, LParam);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Form1.FormStyle := fsStayOnTop;
HookHandle := SetWindowsHookEx(WH_JOURNALRECORD, @HookProc, HInstance, 0);
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
if HookHandle <> 0 then
UnhookWindowsHookEx(HookHandle);
end;