Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.011 c
1-91247
Dmitry V. Averuanov
2003-04-16 13:34
2003.04.28
Очень прошу пример DLL


1-91359
dimonf
2003-04-15 18:06
2003.04.28
Подскажите как сделать редактор свойств для своего компанента?


14-91550
Michael
2003-04-11 17:53
2003.04.28
Как переветсти на руский язык


3-91159
Knight
2003-04-09 14:13
2003.04.28
Программы скрытия дисков и управления доступом к папкам и файлам


11-91241
Arioch
2002-07-16 11:51
2003.04.28
Free compilers?




   Наверх