Como Publicar e mudar um evento de um componente
Bom dia pessoal..
Estou com o seguinte problema:
Utilizo um componente no qual já existe um evento no caso o OnButtonClick,
Este evento não é visivel no object inspector do delphi e para manipula-lo eu tenho que escrever a seguinte linha de código:
O que eu quero é escrever um componente derivado deste e ai tornar publica e modificar este evento de forma que continue com as caracteristicas anteriores e implementasse as minhas novas carcteristicas..
Alguém poderia me dar uma mãozinha?
Grato
Fausto
Estou com o seguinte problema:
Utilizo um componente no qual já existe um evento no caso o OnButtonClick,
Este evento não é visivel no object inspector do delphi e para manipula-lo eu tenho que escrever a seguinte linha de código:
Componente.OnButtonClick := MeuEventoClick;
O que eu quero é escrever um componente derivado deste e ai tornar publica e modificar este evento de forma que continue com as caracteristicas anteriores e implementasse as minhas novas carcteristicas..
Alguém poderia me dar uma mãozinha?
Grato
Fausto
Faustoalves
Curtidas 0
Respostas
Rodc
20/11/2006
Apenas para aparecer no ObjectInspector, quando fizer o seu novo componente herdando do componente anterior inclua na cláusula ´published´ a linha abaixo:
Para fazer override da função (sobrescrevê-la novamente com um novo código), acho que você terá que criar novamente a propriedade. Para isto, copie a declaração do componentente que você está herdando e faça uma nova implementação.
Espero ter sido claro.
property OnButtonClick;
Para fazer override da função (sobrescrevê-la novamente com um novo código), acho que você terá que criar novamente a propriedade. Para isto, copie a declaração do componentente que você está herdando e faça uma nova implementação.
Espero ter sido claro.
GOSTEI 0
Faustoalves
20/11/2006
Sim, creio que entendi, amigo agora como eu faço para criar uma nova propriedade no caso eu gostaria de criar um campo text neste componente.. vc poderia me dar uma dica?
Grato
Fausto
Grato
Fausto
GOSTEI 0
Rodc
20/11/2006
Segue um exemplo de criação de um campo numério e um texto.
private: FMeuCaption: String; FMeuNumero: Integer; procedure SetMeuNumero(Value: Integer); published: property MeuCaption: String read FMeuCaption write FMeuCaption; property MeuNumero: Integer read FMeuNumero write SetMeuNumero; implementation Uses Dialogs; // Para o ShowMessage() // Implementação da função SetMeuNumero procedure SetMeuNumero(Value: Integer); begin if FMeuNumero <> Value then begin if (Value > 500) then // Não permite número maior que 500 ShowMessage(´Número inválido´) else FMeuNumero := Value; // Guarda o valor na propriedade end; end;
GOSTEI 0