![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как в моём компоненте перехватить сообщение Parent? [D7]
MegaVolt © (2007-01-24 17:09:00)ListView при некоторых условиях посылает сообщение WM_MeasureItem причём посылает его компоненту назначенному в ListView.Parent
Как поймать это сообщение из самого компонента?
MegaVolt (2007-01-25 12:52:00) [1]Игорь Шевченкоогромное спасибо :) Я проверял приходит ли CN_MeasureItem при включенном обработчике WM_MeasureItem. А так как сообщение обработано то дальше оно не пересылалось.
Спасибо. Вопрос решен :)
Игорь Шевченко (2007-01-25 12:37:00) [2]MegaVolt © (25.01.07 12:23) [5]
> CN_MeasureItem неприходит :(
Странно. Сообщение WM_MeasureItem приходящее WinControl'у преобразуется в CN_MeasureItem и посылается дочернему окну процедурой Controls.DoControlMsg
MegaVolt (2007-01-25 12:23:00) [3]CN_MeasureItem неприходит :(
Игорь Шевченко (2007-01-25 11:33:00) [4]
> ListView при некоторых условиях посылает сообщение WM_MeasureItem
> причём посылает его компоненту назначенному в ListView.Parent
>
> Как поймать это сообщение из самого компонента?
Обработать CN_MeasureItem ?
B.B. (2007-01-25 11:23:00) [5]Ты можешь заменить оконную процедуру парента на свою
Только оченьаккуратно - не забыть запомнить указатель на его родную процедуру, и вызвать из своей.
Также видимо придется обрабатывать нотификации - на случай смены парента.
А может, в VCL есть какой то другой механизм - на вскидку не помню
Elen (2007-01-25 10:52:00) [6]
> С другой стороны судя по отсутствию массы ответов вопрос
> не так прост?
Это только догадка но : попробуй описать чтонить вродеprocedure q(var m:Tmsg); messsage WM_MeasureItemи там уже анализируй кто чего послал, если не ListView передавай ход сообщения дальше по цепочке...
MegaVolt (2007-01-25 10:44:00) [7]Если вопрос перенесен в раздел начинающим значит вопрос просто детский. С другой стороны судя по отсутствию массы ответов вопрос не так прост?