A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Criação de Componentes em Delphi

Apresentações semelhantes


Apresentação em tema: "Criação de Componentes em Delphi"— Transcrição da apresentação:

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

11

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.


Carregar ppt "Criação de Componentes em Delphi"

Apresentações semelhantes


Anúncios Google