Вниз
Скачать: 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.012 c
1-45805
People
2002-11-04 21:30
2002.11.14
Как в IE нажать программно кнопку


1-45967
werr
2002-11-04 14:45
2002.11.14
сортировка


1-45827
Azazello
2002-11-05 11:41
2002.11.14
Сохранение в один файл


1-45885
Sego
2002-11-05 17:13
2002.11.14
Работа с памятью


1-45882
bearoman
2002-11-05 10:53
2002.11.14
Как изменить кнопки




   Наверх