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

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

подменить 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) Нет.


Наверх

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