Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Delphi: Общие вопросы > Поймать сообщение некоторым элементом |
Автор: SilentRoach 22.6.2006, 02:27 | ||||
Есть такой модуль:
на загрузке главной формы инициализируется данный элемент. посылаю сообщение такой вот своей, перекрывающей стандартную, функцией:
и, естественно, Logger'ом это сообщение поймать не могу. а что сделать чтобы поймать, может кто подскажет? ![]() делать обработку всех событий в главной форме не хочется - не красиво. возник в голове еще вариант оверрайдить Perform на главной форме с выполнением по-умолчанию и вдобавок вызов метода из Logger'а определенного, который будет PeekMessage. Но по-моему, это тоже не очень красиво. посоветуйте что-нибудь, пожалуйста, м? ![]() |
Автор: Rrader 22.6.2006, 07:34 |
Сообщения предназначены для окон, у класса TLogger мы не можем определить оконную процедуру ![]() |
Автор: Snowy 22.6.2006, 09:13 |
Для данных вещей существует функция AllocateHWnd. Позволяет работать с оконными сообщениями. Пронцип действия простой - создаёт невидимое окно и устанавлевает твой обработчик. Тебе остаётся только слать на него сообщения и получать их установленной функцией. В хелпе есть пример. Так работает TTimer и TClientSocket. |
Автор: SilentRoach 24.6.2006, 03:21 |
Разобрался. Оказалось самым удобным просто послать сообщение в TLogger Dispatch'ем. |