Chertenok.ru - все о программировании
Вход  |  Регистрация  |  Поиск 
Праздник
Сегодня :

День славянской письменности и культуры


Запретить передачу фокуса окну по которому кликаешь


Новая тема  Ответить  Печать Предыдущая тема  Следующая тема
Автор Сообщение
Igor Zorkov
Гость







СообщениеЧт, 01-Ноя-2007 21:53    Заголовок сообщения: Запретить передачу фокуса окну по которому кликаешь
Цитата

Блокирую среднюю кнопку мыши, а как запретить передачу фокуса окну по которому кликаешь?

[syntax=delphi]library MousePrevent;

uses
Windows,
Messages,
Controls,
SysUtils;

Var
SysHook: HHook = 0;
GWWM_MBUTTONDOWN: Cardinal;
GWWM_MBUTTONUP: Cardinal;

function SysMsgProcM(Code:Integer; WParam:LongInt; LParam:LongInt): LongInt; stdcall;
var
Msg:TMessage;
Wnd: HWND;
begin
if (Code = HC_ACTION) then
begin
Wnd:= FindWindow(nil, 'Form1');
case TMsg(Pointer(LParam)^).Message of
WM_MBUTTONDOWN:
begin
SendMessage(Wnd, GWWM_MBUTTONDOWN, 0, 0);
TMsg(Pointer(LParam)^).Message:= WM_NULL;
end;
WM_MBUTTONUP:
begin
SendMessage(Wnd, GWWM_MBUTTONUP, 0, 0);
TMsg(Pointer(LParam)^).Message:= WM_NULL;
end else
Result:= CallNextHookEx(SysHook,Code,WParam,LParam);
end;
end;
end;

procedure RunStopPreventHookM(State: Boolean) export; stdcall;
begin
if State = true then
begin
SysHook := SetWindowsHookEx(WH_GETMESSAGE, @SysMsgProcM, HInstance, 0);
end else
begin
UnhookWindowsHookEx(SysHook);
SysHook:= 0;
end;
end;

exports RunStopPreventHookM;

begin
GWWM_MBUTTONDOWN:= RegisterWindowMessage ('GWWM_MBUTTONDOWN');
GWWM_MBUTTONUP:= RegisterWindowMessage ('GWWM_MBUTTONUP');
end.[/syntax]
В начало
Показать сообщения:   
Страница 1 из 1
Перейти:  
Новая тема  Ответить  Печать

Вы можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете присоединять файлы в этом форуме
Вы можете скачивать файлы в этом форуме
хостинг от .masterhost 
Rambler's Top100