С конструктором и свойством все нормально, а вот не могу наследовать обработчик события OnDrawCell
Создаю свой DrawGrid:| Код |
Uses ...... MyGrid.pas;
MyGrid:=TMyGrid.Create(self); MyGrid.Parent:=self; MyGrid.Show;
|
Он описан в MyGrid.pas| Код | ... //мой тип переменной type TMyLayout = (mlVertical, mlHorizontal);
type TMyGrid = class(TDrawGrid) private { Private declarations } //переменные для моих новых свойств FMyLayout:TMyLayout; public { Public declarations } //конструктор constructor Create(AOwner: TComponent);override; published //новое свойство property MyLayout: TMyLayout read FMyLayout write FMyLayout;
end;
..... //собственно конструктор constructor TMyGrid.Create(AOwner: TComponent); begin inherited; Options:=[]; Ctl3D:=false; ParentCtl3D:=false; BorderStyle:=bsNone; ScrollBars:=ssNone; FixedColor:=clSkyBlue; DefaultDrawing:=False; end;
|
Хотелось бы наследовать и чуть-чуть изменить обработчик события OnDrawCel - метод DrawCell, но при таком раскладе:
| Код | ... public { Public declarations } procedure DrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState);override;
...
procedure DrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState); begin inherited; //мои действия end;
|
говорит: "Method differs previous declaration" - отличается от предыдущего объявления. Чувствую, не тот подход. Подскажите, пожалуйста |