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

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

как перехватить LVM_SETITEMTEXT у контрола в чужом окне? [D7, WinXP]


DDorgNev ©   (2009-11-20 02:57:00) 

есть: чужое окно с контролом SysListView32 (сразу скажу, что получить текст из него я знаю как).
надо: поставить хук для этого контрола на события типа LVM_
(то, что надо делать ДЛЛ и там использовать SetWindowsHookEx - уже понятно и об этом можно не говорить).
вопрос в том КАКОЙ тип хука подставить в первом параметре SetWindowsHookEx и соответственно, какой код должен быть в самой функции перехвата, что бы там добраться до событий LVM_


Leonid Troyanovsky   (2009-11-20 08:36:00) [1]


> DDorgNev ©   (20.11.09 02:57)  

> SetWindowsHookEx и соответственно, какой код должен быть
> в самой функции перехвата, что бы там добраться до событий
> LVM_

Если нужна модификация сообщений, то контрол надо
сабклассировать (SetWindowLong).
Это можно сделать одноразово, например:
WH_GETMESSAGE & PostMessage & UnhookWindowsHookEx.
Длл закрепляется путем LoadLibrary из хуковой процедуры.
Выгрузка длл делается в том же порядке, после
восстановления старой оконной процедуры.

А если модификация не нужна, то WH_CALLWNDPROCRET,
see also: a CWPRETSTRUCT structure.

--
Regards, LVT.


Наверх

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