![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Сообщения определенному окну [D5, NT4, Win2k]
Akni © (2002-10-03 16:36:00)Уважаемые Знатоки!
Помогите, пожалуйста, разобаться с таким вопросом:
как отловить все сообщения (т.е. самому окну и всем элементам, которые ему принадлежат), посланные одному определенному MDI-окну приложения? Пробовала с TApplicationEvents.OnMessage, но он ловит сообщения всем формам приложения.
И еще: можно ли по Handl"у определить имя компонента, не перебирая все компоненты, которые находятся на форме?
Akni (2002-10-03 17:57:00) [1]to Игорь Шевченко
Спасибо, попробую разобраться
Игорь Шевченко (2002-10-03 17:29:00) [2]Можно.
Написать перебор всех наследников TWinControl на форме и поменять у них свойство WindowProc на регистратор, не забыв сохранить старую оконную процедуру. Уже полгода я этим методом успешно пользуюсь для трассировки сообщений. Этот способ хорош тем, что позволяет ловить практически все сообщения, а не только посылаемые по PostMessage через Application.OnMessage
С уважением,
Akni (2002-10-03 17:05:00) [3]В том-то и дело, что на окне лежит куча компонентов, в том числе фреймы, на которых в свою очередь тоже лежит куча компонентов.
Нельзя ли каким-нибудь универсальным методом?
Игорь Шевченко (2002-10-03 16:45:00) [4]Первое лучше сделать заменой WndProc у требуемого окна и всех его компонентов.
Второе через функцию FindVclWindow из Controls.pas
С уважением,