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

Вниз

как у компонента-потомка переписать событие?   Найти похожие ветки 

 
zokzok   (2004-10-20 21:36) [0]

объясните, плиз, а то я не пойму чего-та


 
Константинов ©   (2004-10-21 01:24) [1]

каждое событие возникает когда компонент принимает какое либо сообщение системы. Находишь в исходниках компонентов-предков процедуру, принимающую данное сообщение и переписываешь его в своем компоненте заново. И из нее вызываешь свое свойство-событие:

Допустим Вы хотите изменить реакцию компонента на клик левой клавишей мыши потомка TControl

( поправьте меня если что-то не так )

находим в исходниках TContorl:
private
procedure WMLButtonDown(var Message: TWMLButtonDown); message WM_LBUTTONDOWN;
begin
 inherited;
 if Assigned(FOnMyClick) then FOnMyClick(Self);
end;

где FOnMyClick : TNotifyEvent; поле класса Вашего компонента.

последовательность этих двух строчек определяет очередность событий стандартного OnClick и Вашего, перезагруженного OnMyCLick;
Если нужно отключить стадартную обработку события, уберите inherited, но в этом случае вся ответственность за правильную работу компонента ложиться на Вас.


 
kostan   (2004-10-21 04:36) [2]

может требовался простой вариант :

type
TNewComp=class(ToldComp)
privat
procedure AA(sender...):override;
....
end;

procedure TNewComp.AA(sender..);
begin
 ..... свой код

 inherited; // если надо

end;



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

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

Наверх




Память: 0.47 MB
Время: 0.033 c
3-1096973121
goldenmax
2004-10-05 14:45
2004.11.07
как сравнить в Query поле в таблице DBF с полем IB


14-1097818508
GavrilaMama
2004-10-15 09:35
2004.11.07
Прикол в WinRaR и как повесить MS Word


1-1098634662
DIS
2004-10-24 20:17
2004.11.07
работа с реестром


14-1098101693
Slider007
2004-10-18 16:14
2004.11.07
Очень интересный глюк 2


14-1098346430
Rouse_
2004-10-21 12:13
2004.11.07
Онлайн магазин...