![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
подменить GWL_WNDPROC [D7, Windows]
GuAV © (2004-05-22 15:09:00)Я хочу подменить GWL_WNDPROC
нужно ли его потом возвращать обратно?
Меняют ли его какие либо методы и свойства PControl и если да, то какие?
ЗЫ - про OnMessage знаю, FAQ не предлагайте.
GuAV (2004-05-22 23:25:00) [1]SPeller © (22.05.04 19:36) [3]
Понял. Спасибо!
SPeller (2004-05-22 19:36:00) [2]Может случиться так, что объект уже уничтожится, а твоя процедура каким-то раком вызовется. И ничего хорошего от этого не произойдёт.
GuAV (2004-05-22 17:13:00) [3]SPeller © (22.05.04 15:38) [1]
2) Спасибо.
1) Хорошо, хотя не понял зачем вот это пработает и без возвращения:
var oldwnd: integer;
function MyWnd(Wnd, Msg, wParam, lParam: Integer): LRESULT; stdcall;
begin
Result:=CallWindowProc(Pointer(oldwnd),Wnd,Msg,wParam,lParam);
end;
...
oldwnd:=SetWindowLong(Form.Handle,GWL_WNDPROC,integer(@MyWnd));
...
SPeller (2004-05-22 15:38:00) [4]1) Возвращать обратно обязательно.
2) Нет.