Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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
7-25615
MakNik
2003-10-29 16:33
2004.01.09
как узнать путь к папке откуда запущена программа???


14-25504
вопросник
2003-12-15 20:47
2004.01.09
Как расшифровывается ИМХО?


1-25294
Ломброзо
2003-12-23 00:15
2004.01.09
Как избавиться от сообщения при закрытии Exe-Com-Сервера...


1-25280
Bishop
2003-12-23 15:36
2004.01.09
Ini - перевод строки


14-25529
JibSkeart
2003-12-19 12:01
2004.01.09
найти наибольших 2 элемента в 6 переменных не прибегая к массиву





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский