1 / 20

Criação de Componentes em Delphi

Criação de Componentes em Delphi. Autor: Christiano Lima Santos Orientador: Prof. Antônio Monteiro Freire. Sumário. Motivação Conceito de Componente Hierarquia dos Componentes Algumas Classes Já Existentes Controle de Acesso aos Dados Passos Para Criar um Componente

liang
Download Presentation

Criação de Componentes em Delphi

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Criação de Componentes em Delphi Autor: Christiano Lima Santos Orientador: Prof. Antônio Monteiro Freire

  2. Sumário • Motivação • Conceito de Componente • Hierarquia dos Componentes • Algumas Classes Já Existentes • Controle de Acesso aos Dados • Passos Para Criar um Componente • Construindo um componente visual: BlinkLabel

  3. Motivação • Vantagens do Delphi: • Orientado a Objetos  Mais legibilidade e praticidade; • Ferramenta RAD  desenvolvimento fácil e rápido de sistemas; • Trabalha com componentes  aumenta a reusabilidade; • Delphi permite a criação de componentes a partir dos já existentes;

  4. Conceito de Componente • Componentes são objetos descendentes do tipo TComponent, possuindo então a capacidade de ser mostrado na paleta de componentes e também de operar em "Design-time“; • São objetos (visuais ou não) aos quais são associados propriedades, métodos e eventos;

  5. Conceito de Componente • Propriedade • São formas seguras de acesso a atributos do componente; • Permitem a alteração de valores em design-time; • Evento • São conexões entre acontecimentos e determinadas rotinas; • Sempre que um acontecimento ocorrer (por exemplo, clique do mouse), o evento associado é disparado e então dá início à rotina associada; • Método • São funções e procedimentos, disponíveis ou não ao usuário final;

  6. Hierarquia dos Componentes TComponent ... TButtonControl TButton TRadioButton Button 1 Button 2 RadioButton 1

  7. Algumas Classes Já Existentes... • TComponent - Componentes não visuais; • TWinControl - se for necessário que o componente tenha "handles". • TGraphicControl - Componentes visuais que não tenham "handles” (esta classe tem os metodos Paint e Canvas) • TCustomControl - Esta classe tem "handle" de janela, eventos e propriedades comuns e, principalmente, os metodos Canvas e Paint.

  8. Controle de Acesso aos Dados • Todo componente em Delphi é um objeto proveniente da classe definida; • Encapsulamento dos Dados; • Há quatro tipos de controle de acesso: • Private  inacessível; • Protected  acessível somente aos descendentes; • Public  acessível a todos; • Published  acessível e visível no Object Inspector;

  9. Passos Para Criar um Componente • Derivar o componente novo a partir de outro existente, o qual servirá como base para somar as características do novo componente; • Somar as propriedades, eventos e métodos necessários para o componente novo. • Registrar o componente, inclusive o bitmaps adicional, arquivos de ajuda, etc; • Instalar o componente novo na paleta de componentes;

  10. Construindo um Componente Visual: BlinkLabel • Trata-se de um componente que se torna visível e invisível (“pisca”) alternadamente; • Devemos então derivá-lo da classe TLabel; • As únicas units que usaremos são: Classes, StdCtrls, ExtCtrls; • É necessário termos um Timer e a velocidade nele, então vamos inseri-los...

  11. procedure TBlinkLabel.MudaVelocidade (valor : integer); Begin If FVelocidade <> valor then begin FVelocidade := valor; if valor < 0 then FVelocidade:=0; if FVelocidade = 0 then FTimer.Enabled:=False else FTimer.Enabled:=True; FTimer.Interval:=FVelocidade; Visible:=True; end; end;

  12. Construindo um Componente Visual: BlinkLabel • Método Piscar; • Será disparado pelo evento OnTimer de nosso FTimer; protected     procedure piscar(Sender : TObject); procedure TBlinkLabel.piscar(Sender : TObject); Begin if FTimer.Enabled then Visible := not(Visible); end;

  13. Construindo um Componente Visual: BlinkLabel • Definir então a propriedade Velocidade; published property Velocidade: integer read FVelocidade write MudaVelocidade default 400;

  14. Construindo um Componente Visual: BlinkLabel • Definindo o construtor e destruidor; public constructor Create(AOwner : TComponent); override; destructor Destroy; override;

  15. Construindo um Componente Visual: BlinkLabel constructor TBlinkLabel.Create(AOwner : TComponent); begin inherited Create(AOwner); //obrigatório! FTimer := TTimer.Create(Self); //criar objetos FVelocidade := 400; FTimer.Enabled:=True; FTimer.OnTimer:=piscar; FTimer.Interval:=FVelocidade; end;

  16. Construindo um Componente Visual: BlinkLabel destructor TBlinkLabel.Destroy; begin FTimer.Free; //destruir objetos criados inherited destroy; //obrigatório! end;

  17. Referências Bibliográficas • Help do Borland Delphi 6 • http://www.dpi.ufv.br/downloads/cursoKylix/Material/Apostilas/ccind.htm

  18. Exercício • Criar um componente TGradientImage que exibe um gradiente de cores em um retângulo.

More Related