Вниз
Скачать: CL | DM;

Сообщения определенному окну   Найти похожие ветки 

 
Akni ©   (2002-10-03 16:36) [0]

Уважаемые Знатоки!
Помогите, пожалуйста, разобаться с таким вопросом:
как отловить все сообщения (т.е. самому окну и всем элементам, которые ему принадлежат), посланные одному определенному MDI-окну приложения? Пробовала с TApplicationEvents.OnMessage, но он ловит сообщения всем формам приложения.
И еще: можно ли по Handl"у определить имя компонента, не перебирая все компоненты, которые находятся на форме?


 
Игорь Шевченко ©   (2002-10-03 16:45) [1]

Первое лучше сделать заменой WndProc у требуемого окна и всех его компонентов.

Второе через функцию FindVclWindow из Controls.pas

С уважением,


 
Akni ©   (2002-10-03 17:05) [2]

В том-то и дело, что на окне лежит куча компонентов, в том числе фреймы, на которых в свою очередь тоже лежит куча компонентов.
Нельзя ли каким-нибудь универсальным методом?


 
Игорь Шевченко ©   (2002-10-03 17:29) [3]

Можно.
Написать перебор всех наследников TWinControl на форме и поменять у них свойство WindowProc на регистратор, не забыв сохранить старую оконную процедуру. Уже полгода я этим методом успешно пользуюсь для трассировки сообщений. Этот способ хорош тем, что позволяет ловить практически все сообщения, а не только посылаемые по PostMessage через Application.OnMessage

С уважением,


 
Akni ©   (2002-10-03 17:57) [4]

to Игорь Шевченко

Спасибо, попробую разобраться



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.011 c
1-45911
Paxer
2002-11-03 11:43
2002.11.14
Help! Как побороть цикличность определения типов записей.


1-45921
¤NoNaMe¤
2002-11-04 00:39
2002.11.14
Darg&Drop текста ?


1-45913
Ramzes
2002-11-03 18:06
2002.11.14
Новые переменные


8-45999
Antonius
2002-07-25 13:41
2002.11.14
Вопрос по 3D sound, библиотека BASS


3-45665
NightCon
2002-10-24 07:09
2002.11.14
БД не работает по сети




   Наверх