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

Вниз

Grid   Найти похожие ветки 

 
VIB   (2003-04-15 14:56) [0]

Помогите разобратся с наследием.

Написал компонент наследник TDBGrid

Когда запускается приложение то срабатывает процедура
OnDrawColumnCell родителя. При этом новый код который я пишу
в компоненте игнорируется.

Подскажите что делать.


 
Skier ©   (2003-04-15 15:04) [1]

Если я правильно понял тебе нужно перекрыть
procedure DrawColumnCell(const Rect: TRect; DataCol: Integer;
Column: TColumn; State: TGridDrawState); dynamic;


 
VIB   (2003-04-15 15:09) [2]

Может я плохо объяснаю.
Мне надо чтобы сначала вызвалась процедура самого компонента,
а потом код который я дописал.

Если можно объясните попродробнее.


 
malkolinge ©   (2003-04-15 15:10) [3]

Чтобы перекрыть нужно написать после описания твоего метода слово override


 
Skier ©   (2003-04-15 15:17) [4]

объявление в твоём классе :
procedure DrawColumnCell(const Rect: TRect; DataCol: Integer;
Column: TColumn; State: TGridDrawState); override;
реализация :
procedure TYourGrid.DrawColumnCell(const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
//your code goes here...
inherited;//вызов события,...если оно есть
end;

У предка кода у этого метода "нет", там только стоит вызов
события если оно проиниц-но.


 
malkolinge ©   (2003-04-15 15:20) [5]


> inherited;//вызов события,...если оно есть


Это не событие, это вызов метода родительского класса.
Методы который отвечают за вызов собитий зовуться диспечерами или контроллерами


 
VIB   (2003-04-15 15:22) [6]

Вот пример реализации. Если я даже по F5 ставлю точку останова
прога не останавливается

procedure TForm1.MDBGridEh1DrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumnEh;
State: TGridDrawState);
begin

inherited;

If DataCol=0 then
begin
Canvas.Draw(Rect.Left,Rect.Top,Image1.Picture.Graphic);
end;

end;


 
Skier ©   (2003-04-15 15:23) [7]

>malkolinge
Умён !
Я же написал что родительский метод вызывает событие,
больше в родительском методе нет никакого кода.


 
Skier ©   (2003-04-15 15:25) [8]

>VIB
Нет слов !



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

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

Наверх




Память: 0.48 MB
Время: 0.017 c
6-91437
Makatuka
2003-03-06 14:57
2003.04.28
TWebBrowser и поиск фрагмента текста


9-91137
seemann
2002-10-06 19:05
2003.04.28
Непослушный спрайт


3-91211
supersan
2003-04-09 08:37
2003.04.28
Правильное соединение с БД Interbase?


14-91525
VID
2003-04-10 00:22
2003.04.28
XL REPORT


4-91582
Sfagnum
2003-02-27 17:01
2003.04.28
Ширина текста