Форум: "Потрепаться";
Текущий архив: 2004.11.07;
Скачать: [xml.tar.bz2];
Внизкак у компонента-потомка переписать событие? Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.049 c