Carregar apresentação
A apresentação está carregando. Por favor, espere
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;
12
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...
13
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;
14
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;
15
Construindo um Componente Visual: BlinkLabel
Definir então a propriedade Velocidade; published property Velocidade: integer read FVelocidade write MudaVelocidade default 400;
16
Construindo um Componente Visual: BlinkLabel
Definindo o construtor e destruidor; public constructor Create(AOwner : TComponent); override; destructor Destroy; override;
17
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;
18
Construindo um Componente Visual: BlinkLabel
destructor TBlinkLabel.Destroy; begin FTimer.Free; //destruir objetos criados inherited destroy; //obrigatório! end;
19
Referências Bibliográficas
Help do Borland Delphi 6
20
Exercício Criar um componente TGradientImage que exibe um gradiente de cores em um retângulo.
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.