Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Клик мыши вне формы [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;


Наверх

Титульная страница Поиск, карта сайта Написать письмо