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

Вниз

фокус на Tedit...   Найти похожие ветки 

 
Bes ©   (2003-08-21 07:12) [0]

такая вот проблема, на чужой форме есть компонент TEdit ( так же имеется в наличии его хендл)... ножно поставить ловушку на изменение режима фокус/не фокус...

я делал так...

...
procedure runhook(flag:Boolean;h:thandle) export; stdcall;
begin
if flag=true then
begin
SysHook := SetWindowsHookEx(WH_CALLWNDPROC, @Proc, HInstance, 0);
wnd:=h;
end else
begin
if syshook<>0 then UnhookWindowsHookEx(SysHook);
SysHook := 0;
end;
end;
.....

function Proc(code : integer; wParam : word; lParam : longint) : longint; stdcall;
var
msg:TCWPStruct;
begin
if code=HC_ACTION then
begin
msg:=TCWPStruct(Pointer(lParam)^);
if msg.message=WM_ACTIVATE then
if wnd=msg.hwnd then showmessage("ОК");

end;
Result:= CallNextHookEx(SysHook, Code, wParam, lParam);
end;

понятно что это не работает(я бы не спрашивал), никакой реакции именно на Edit, на обычное окно реагирует, а вот на Edit нет...
так вот где у меня ошибка??? спасибо


 
Игорь Шевченко ©   (2003-08-21 09:19) [1]

WM_ACTIVATE может посылаться не функцией SendMessage, а функцией PostMessage и Hook должен быть типа WH_GETMESSAGE
Но не проще ли ловить сообщение WM_SETFOCUS ?


 
Bes ©   (2003-08-21 16:51) [2]

СПАСИБО БОЛЬШОЕ! ВСЕ РАБОТАЕТ..А Я ЧЕГО В ПЕРВЫЙ РАЗ НЕ УВИДЕЛ WM_SETFOCUS :)



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

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

Наверх




Память: 0.47 MB
Время: 0.044 c
1-89309
Brutus
2003-10-16 12:50
2003.10.27
Помогите удалить пустые строки из ListBox a


1-89382
ss300
2003-10-15 17:42
2003.10.27
обнуление переменной при изменений даты


14-89576
[lamer]Barmaglot
2003-10-02 11:24
2003.10.27
Как насчет результатов конкурса?


14-89519
Карлсон
2003-10-07 21:45
2003.10.27
два саундтрека для одного фильма на обычном CD.


1-89318
Элина
2003-10-16 16:17
2003.10.27
Как загрузить иконку из DLL?