Criando componente herdado do TDBGrid

16/06/2008

2

Pessoal,
Estou tentando criar um componente herdado do dbgrid.
Minha ideia é adicionar varios recursos que eu uso no dia a dia para facilitar.
Tentei logo de inicio colocar algumas coisas no TitleClick mas nao esta funcionando, vou deixar o codigo para que alguem com experiencia neste tipo de desenvolvimento possa dar uma luz:

unit EasyDBGrid;

interface

uses
  SysUtils, Classes, Controls, Grids, DBGrids, dialogs, DB, DBClient, graphics;

type
  TEasyDBGrid = class(TDBGrid)
  private
    { Private declarations }
  protected
    { Protected declarations }
  public
    procedure TitleClick(Column: TColumn);
    { Public declarations }
  published
    { Published declarations }
  end;

procedure Register;

implementation

procedure Register;
begin
  RegisterComponents(´Easy´, [TEasyDBGrid]);
end;


{ TEasyDBGrid }

procedure TEasyDBGrid.TitleClick(Column: TColumn);
begin
  Column.Title.Caption := ´teste´;
  Column.Font.Color := clRed;
  inherited TitleClick(Column);
end;

end.


Depois de compilar e instalar o componente em um novo projeto ao clicar no title da coluna nao acontece nada.

Agradeco desde ja pela atenção!


Responder

Posts

Dica: Sempre faça herança de componentes Custom. Ou seja, no caso do TDBGrid, faça herança do TCustomDBGrid.

No procedimento TitleClick, defina que ele estará reescrevendo o método ancestral usando a chamada override;
  public 
    procedure TitleClick(Column: TColumn); override;



Responder

17/06/2008

Mmoreira

Jader,
Valew pela ajuda cara!
Agora sim funcionou blz

Obrigado.


Responder