Форум: "Основная";
Текущий архив: 2004.01.09;
Скачать: [xml.tar.bz2];
ВнизОбрабатывание Найти похожие ветки
← →
Afonya (2003-12-23 12:59) [0]У меня следующая проблема. Мне необходимо в компоненте организовать обработчик событий/комманд, посылаемых не самой системой (таких как WM_SIZE, CM_FONTCHENGED...), а своих собственных.
Проще говоря, как мне сделать обработчик события/коммнады, которые не являются событиями и коммандами ОС, а написаны мною.
Лучше маленький примерчик кода, если можно...
← →
Виктор Щербаков (2003-12-23 13:05) [1]Не совсем ясно о чем идет речь.
То ли о событиях, то ли о сообщениях.
Может стоит почитать раздел Help"а
Creating custom components|Creating events ?
← →
Anatoly Podgoretsky (2003-12-23 13:08) [2]Message handlers
← →
Digitman (2003-12-23 13:09) [3]const
MYMSGCODE = WM_USER + NNN; // 0 <= NNN <= MAXWORD - WM_USER
type
TMyComponent = class(..)
procedure MsgMyMsgHndlr(var Message: TMessage); message MYMSGCODE;
end;
← →
Skier (2003-12-23 13:09) [4]>Afonya (23.12.03 12:59)
Код VCL - лучший учебник !
← →
TUser (2003-12-23 13:09) [5]Я так понимаю создать свой OnMyEvent. Это просто поле процедурного типа.
← →
TUser (2003-12-23 13:14) [6]Тейкстера, том 2 - стр. 77.
← →
Digitman (2003-12-23 13:37) [7]да ну обработчик сообщений же !
а не генератор событий) ... все ж ясно и понятно ! ни о каких "событиях, возбуждаемых компонентом" речи явно не идет в вопросе
← →
TUser (2003-12-23 14:23) [8]Ему надо позволить обрабатывать события, которые не являются событиями системы, а придуманы им самим. Так и написано. Вот для этого надо
type
TMyEvent = procedure (Sender:TObject);
...
property OnMyEvent:TMyEvent read FOnMyEvent write FOnMyEvent;
...
if assigned (FOnMyEvent) then
FOnMyEvent(Self);
← →
Skier (2003-12-23 14:28) [9]
> а придуманы им самим
Это значит пользовательское сообщение - ни больше, ни меньше...
судя по контексту вопроса...
← →
Digitman (2003-12-23 14:32) [10]ну и где здесь "обработка", в твоем коде ?
чистой воды - механизм возбуждения событий (механика хранения адреса потециально возможной процедуры обработки и реализация вызова этой процедуры), и никакой "обработки" никаких "сообщений")
← →
TUser (2003-12-23 14:43) [11]Мне казалось, что это и требуется. Если вопрос понял не правильно - экскьюз ми.
← →
Afonya (2003-12-25 16:12) [12]Digitman, ты единственно правильно понял мой вопрос.
Пример твой пригодился, все пошло как по маслу. Спасибо огромное!
P.S. Прошу извинения за запоздавшую благодарность - инет портачил...
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.01.09;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.012 c