Estou criando um componente, porém empaquei.

Delphi

02/04/2004

Estou criando um componente e parei na hora de criar um evento. O componente herda diretamente do TMaskEdit, porém tenho um Grid dentro deste componente, criei uma classe separada dentro do componente, mas não consigo cirar o evento OnDblClick do DBGrid. Como fazer isto.
Ai Vai a criação das classes com todas as propriedades que criei.
type
     TDbGridConsulta = class;
     TBotaoConsulta = class;

     TTipoConsulta  = (coComecaCom, coIgual, coContem, coTerminaCom);
     TTipoCampo     = (caCEP, caUF, caLocalidade, caBairro, caLogradouro);
     TDuploClick    = procedure(Sender : TObject) of object;

     
     TMaskEditCep = class(TMaskEdit)
          private
          { Private declarations }
          FTipoConsulta    : TTipoConsulta;
          FCampoConsulta   : TTipoCampo;
          FBotao           : TBotaoConsulta;
          FEdtEndereco     : TEdit;
          FEdtBairro       : TEdit;
          FEdtEstado       : TEdit;
          FEdtCidade       : TEdit;
          FDataBaseName    : string;
          FNumeroMinimo    : Integer;
          FNumeroMaximo    : Integer;
          qryLocalizaCep   : TQuery;
          FFormLocalizaCep : TForm;
          
          //estes componentes serão usados no form que será exibido
          //se existir mais de um registro, provavelmente isto só acontecerá quando o usuário
          //não digitar o número do cep todo.
          GridCep          : TDbGridConsulta;
          PanelBaixo       : TPanel;
          PanelCentro      : TPanel;
          dtsCep           : TDataSource;
          FBotaoConsulta   : TBitBtn;


          //decalrações das procedure que vão atualizar os edit´s associados ao componente
          procedure SetEdtEndereco(Value : TEdit);
          procedure SetEdtBairro(Value : TEdit);
          procedure SetEdtEstado(Value : TEdit);
          procedure SetEdtCidade(Value : TEdit);

          protected
          { Protected declarations }
          procedure KeyPress(var Key : Char); override;
          procedure Resize; override;
          function RetornaTextoSemMascara(Texto : string): string;
          procedure LimpaEdits;

          public
          { Public declarations }
          constructor Create(AOwner : TComponent); override;
          destructor Destroy; override;

          published
          { Published declarations }

          //vai setar os edit´s
          property EditEndereco : TEdit read FEdtEndereco write SetEdtEndereco;
          property EditBairro   : TEdit read FEdtBairro write SetEdtBairro;
          property EditEstado   : TEdit read FEdtEstado write SetEdtEstado;
          property EditCidade   : TEdit read FedtCidade write SetEdtCidade;
          property NumeroMinimoDigitos : Integer read FNumeroMinimo write FNumeroMinimo;
          property NumeroMaximoDigitos : Integer read FNumeroMaximo write FNumeroMaximo;

          //vai setar qual vai ser o databasename
          property DataBaseName : string read FDataBaseName write FDataBaseName;
          property ModoDeConsulta : TTipoConsulta read FTipoConsulta write FTipoConsulta;
          property CampoConsulta  : TTipoCampo read FCampoConsulta write FCampoConsulta;
    end;

     
     TDbGridConsulta = class(TDBGrid)
          private
          { Private declarations }
          FOnDblClick : TDuploClick;
          protected
          { Protected declarations }
          procedure DoDblClick(Sender : TObject);dynamic;
          public
          { Public declarations }
          constructor Create(AOwner : TComponent);override;
          destructor Destroy;override;
          published
          { Published declarations }
          property OnDblClick : TDuploClick read FOnDblClick write FOnDblClick;
     end;

por favor se alguém puder me ajudar.


Fabio Colli

Fabio Colli

Curtidas 0
POSTAR