Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.11.14;
Скачать: 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 вся ветка

Текущий архив: 2002.11.14;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.02 c
7-46177
yxz
2002-07-15 21:14
2002.11.14
hook на окошко...


7-46164
mate
2002-09-11 12:22
2002.11.14
Окна и приложения


1-45939
Natali
2002-11-04 08:04
2002.11.14
Архивирование


1-45946
kiko
2002-11-04 12:13
2002.11.14
Какая разница между кодировками Win1251 и WIN


1-45835
Delph
2002-11-05 11:49
2002.11.14
Как установить курсор на последнюю строку Memo?