Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.10.01;
Скачать: CL | DM;

Вниз

Два вопроса по разработке компонентов.   Найти похожие ветки 

 
-=Mike=-   (2005-12-06 03:22) [0]

Пишу свой компонент. Возникло два вопроса:

1) Как отследить добавление нового контрола в список дочерних контролов?
property Children[ Idx: Integer ]: PControl
Т.е. мне нужно выполнить собственный код, когда у моего контрола появляется дочерний контрол.

2) Как обработать сообщение WM_NOTIFY, которое посылается родителю? Мой компонент, после установки определенных его свойств, посылает уведомление родителю (сообщение WM_NOTIFY), в обработчике которого необходимо установить параметры этого компонента. Как обработать это сообщение «изнутри» компонента???


 
ECM ©   (2005-12-06 12:24) [1]


> ) Как отследить добавление нового контрола в список дочерних
> контролов?

При помощи собственной функции... это же Ваш компонент - что мешает?


> 2) Как обработать сообщение WM_NOTIFY, которое посылается
> родителю?


Обратите внимание на "стандартный" для KOL механизм подключения обработчиков - см. в KOL.PAS функции AttachProc(Ex) и WndProcXXX

Как вариант можно переопределить OnMessage (это хуже - т.к. пользователь компонента может захотеть его использовать)


 
ECM ©   (2005-12-06 12:26) [2]


> > ) Как отследить добавление нового контрола в список дочерних
>
> > контролов?
>
> При помощи собственной функции... это же Ваш компонент -
>  что мешает?

З.Ы. Имелось ввиду добавлять дочерние контролы при помощи специально функции компонента


 
-=Mike=-   (2005-12-07 04:19) [3]


> При помощи собственной функции...


Это понятно.. Примерно так пока и извернулся, но в дизайн-мод когда кидаешь на мой компонент какой-нить контрол, то моя функция естессно не вызываетя....


> Обратите внимание на "стандартный" для KOL механизм подключения
> обработчиков


Да, я в курсе. Но когда я подцепляю к компоненту этот обработчик, то он получит сообщения, направленные только ему. А мне нужно обработать сообщение, направленное родителю...
Хотя............  если прицепить обработчик каким-нить образом к родителю....
Надо будет порыть в этом направлени...


 
ECM ©   (2005-12-07 10:56) [4]


> в дизайн-мод когда кидаешь на мой компонент какой-нить контрол,
>  то моя функция естессно не вызываетя....

А это действительно нужно (реальный вызов)? Я думаю достаточно будет сгенерировать вызов в исходном коде при помощи перекрытых методов SetupFirst(Last) в МСК... Хотя Вам конечно виднее...


> прицепить обработчик каким-нить образом к родителю

Вобщем это и имелось ввиду - как раз в функции которая добавляет потомка
и вызвать AttachProc... При этом её можно вызывать многократно - каждый раз при добавлении - обработчик будет назначен только один в этом можно убедится посмотрев на реализацию AttachProc



Страницы: 1 вся ветка

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

Наверх




Память: 0.48 MB
Время: 0.029 c
2-1158044547
nstur
2006-09-12 11:02
2006.10.01
Как убрать программу с панели задач


3-1154325118
Alies
2006-07-31 09:51
2006.10.01
Как и в какое поле можно сохранить файл


15-1158038544
Michael5
2006-09-12 09:22
2006.10.01
При загрузке WinXP на этапе ввода пароля пользователя


3-1154085258
Ega23
2006-07-28 15:14
2006.10.01
Настройка ADOConnection


2-1157960281
S@[ShocK]
2006-09-11 11:38
2006.10.01
Как получить переменную "Мои документы"?