Главная страница
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.023 c
4-91603
smolin
2003-02-28 10:04
2003.04.28
Частота обновления экрана


3-91190
denary
2003-04-10 02:18
2003.04.28
как программно создать пустой файл Excel?


7-91559
OxOTHuK
2003-03-07 22:19
2003.04.28
Tregistry.WriteBool


3-91179
mama
2003-04-09 16:05
2003.04.28
Delphi6, Paradox, BDE,


14-91514
Wah
2003-04-09 21:20
2003.04.28
изображения компов и железа