Criando componentes em tempo de execução
2 participantes
Página 1 de 1
Criando componentes em tempo de execução
Olá galera,eu estou aqui para encinar a vocês como criar componentes em tempo de execução no delphi.
Abra o seu delphi e mãos a obra!
Agora que você ja abriu o delphi, crie um novo projeto e adicione um botão no formulário.
Neste meu exemplo, nós queremos que ao clicar no botão aparece um novo botão no formulário.Então no evento OnClick do botão cire uma variavel antes de begin e depois de procedure assim:
procedure TForm1.Button1Click(Sender: TObject);
var
Btn: TButton;
begin
end;
Agora entre begin e end você deve adicionar todo o codigo.
Primeiro vamos dar um valor a variavel btn.Adicione a seguinte linha de código:
Btn:=TButton.Create(Self); //Da o valor especificado a variavel do tipo TButton
Agora vamos fazer isto mais rápido,vou colocar o resto do codigo e explicar com comentários blz?
Adicione os códigos seguintes:
Btn.Parent:=Form1; //O botão aparece no formulario,você pode colocá-lo dentro de
//qualquer outro componente colocando o nome dele,exemplo: panel1
Btn.Name:='Button2'; //Dá um nome ao botão
Btn.Left:=50; //Especifica a posição X do botão
Btn.Top:=50; //Especifica a posição Y do botão
Btn.Height:=25; //Define a altura do botão
Btn.Widht:=72; //Define a largura do botão
Pronto!Agora você pode me perguntar:
- E se eu quiser adicionar um evento no botão?
A resposta é:
- Simples,primeiro eu crio uma procedure e depois defino a propiedade OnClick para o nome dela.Não entendeu?Então vamos na prática!
Lá em cima no código,depois de:
...
implementation
{$R *.dfm}
Adicione este codigo:
procedure TForm1.Clicou(Sender: TObject);
begin
//Seu codigo aqui!
end;
No lugar de "//Seu codigo aqui!" você adiciona o código que quiser.No meu caso eu adicionei um "ShowMessage('Teste!');".
Agora la em cima no codigo,entre public e end;, adicione a seguinte linha:
procedure Clicou(Sender: TObject);
Depois disso volte em:
procedure TForm1.Button1Click(Sender: TObject);
var
Btn: TButton;
begin
Btn:=TButton.Create(Self); //Da o valor especificado a variavel do tipo TButton
Btn.Parent:=Form1; //O botão aparece no formulario,você pode colocá-lo dentro de
//qualquer outro componente colocando o nome dele,exemplo: panel1
Btn.Name:='Button2'; //Dá um nome ao botão
Btn.Left:=50; //Especifica a posição X do botão
Btn.Top:=50; //Especifica a posição Y do botão
Btn.Height:=25; //Define a altura do botão
Btn.Widht:=72; //Define a largura do botão
end;
E adicione o código depois de "Btn.Widht:=72; //Define a largura do botão" e antes de end;.:
Btn.OnClick:=Clicou; //Define o evento OnClik para o botão
Agora teste e seja feliz!xD.
Codigo fonte completo do tutorial:
Tutorial criado por leandrohackerx.
Copyright © 2011 leandrohackerx
Abra o seu delphi e mãos a obra!
Agora que você ja abriu o delphi, crie um novo projeto e adicione um botão no formulário.
Neste meu exemplo, nós queremos que ao clicar no botão aparece um novo botão no formulário.Então no evento OnClick do botão cire uma variavel antes de begin e depois de procedure assim:
procedure TForm1.Button1Click(Sender: TObject);
var
Btn: TButton;
begin
end;
Agora entre begin e end você deve adicionar todo o codigo.
Primeiro vamos dar um valor a variavel btn.Adicione a seguinte linha de código:
Btn:=TButton.Create(Self); //Da o valor especificado a variavel do tipo TButton
Agora vamos fazer isto mais rápido,vou colocar o resto do codigo e explicar com comentários blz?
Adicione os códigos seguintes:
Btn.Parent:=Form1; //O botão aparece no formulario,você pode colocá-lo dentro de
//qualquer outro componente colocando o nome dele,exemplo: panel1
Btn.Name:='Button2'; //Dá um nome ao botão
Btn.Left:=50; //Especifica a posição X do botão
Btn.Top:=50; //Especifica a posição Y do botão
Btn.Height:=25; //Define a altura do botão
Btn.Widht:=72; //Define a largura do botão
Pronto!Agora você pode me perguntar:
- E se eu quiser adicionar um evento no botão?
A resposta é:
- Simples,primeiro eu crio uma procedure e depois defino a propiedade OnClick para o nome dela.Não entendeu?Então vamos na prática!
Lá em cima no código,depois de:
...
implementation
{$R *.dfm}
Adicione este codigo:
procedure TForm1.Clicou(Sender: TObject);
begin
//Seu codigo aqui!
end;
No lugar de "//Seu codigo aqui!" você adiciona o código que quiser.No meu caso eu adicionei um "ShowMessage('Teste!');".
Agora la em cima no codigo,entre public e end;, adicione a seguinte linha:
procedure Clicou(Sender: TObject);
Depois disso volte em:
procedure TForm1.Button1Click(Sender: TObject);
var
Btn: TButton;
begin
Btn:=TButton.Create(Self); //Da o valor especificado a variavel do tipo TButton
Btn.Parent:=Form1; //O botão aparece no formulario,você pode colocá-lo dentro de
//qualquer outro componente colocando o nome dele,exemplo: panel1
Btn.Name:='Button2'; //Dá um nome ao botão
Btn.Left:=50; //Especifica a posição X do botão
Btn.Top:=50; //Especifica a posição Y do botão
Btn.Height:=25; //Define a altura do botão
Btn.Widht:=72; //Define a largura do botão
end;
E adicione o código depois de "Btn.Widht:=72; //Define a largura do botão" e antes de end;.:
Btn.OnClick:=Clicou; //Define o evento OnClik para o botão
Agora teste e seja feliz!xD.
Codigo fonte completo do tutorial:
- Código:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
procedure Clicou(Sender: TObject);
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Clicou(Sender: TObject);
begin
//Seu codigo aqui!
ShowMessage('Teste!');
end;
procedure TForm1.Button1Click(Sender: TObject);
var
Btn: TButton;
begin
Btn:=TButton.Create(Self); //Da o valor especificado a variavel do tipo TButton
Btn.Parent:=Form1; //O botão aparece no formulario,você pode colocá-lo dentro de
//qualquer outro componente colocando o nome dele,exemplo: panel1
Btn.Name:='Button2'; //Dá um nome ao botão
Btn.Left:=50; //Especifica a posição X do botão
Btn.Top:=50; //Especifica a posição Y do botão
Btn.Height:=25; //Define a altura do botão
Btn.Width:=72; //Define a largura do botão
Btn.OnClick:=Clicou;
end;
end.
Tutorial criado por leandrohackerx.
Copyright © 2011 leandrohackerx
Re: Criando componentes em tempo de execução
Esse é o melhor jeito de deixar o executável menor mesmo. Não fica lá muito protegido mas o custo benefício de tamanho é bom....
Ninja8086- Membro
- Mensagens : 5
Data de inscrição : 19/04/2011
Tópicos semelhantes
» Retirando do form componentes destruidos
» Criando Programas de Console para Trabalhar com a Prompt de Comando
» Criando Programas de Console para Trabalhar com a Prompt de Comando
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos
|
|
Seg Jul 27, 2015 11:42 am por Fredyffp
» Fontes Sistema Store Protheus 7.0 - Versão completa Delphi XE7
Sáb Jul 18, 2015 10:18 am por storeprotheus
» Fontes Sistema Store Protheus 7.0 - Versão completa Delphi XE7
Sáb Jul 18, 2015 10:17 am por storeprotheus
» Como gravar um campo Blob no FireBird + Delphi de um campo tipo imagem no MS-ACCESS ?
Qui maio 14, 2015 3:41 pm por ant.carlos/sp
» Exception EBDEngineError
Sex Fev 27, 2015 6:52 am por luan_cpd
» Exception EBDEngineError
Sex Fev 27, 2015 6:49 am por luan_cpd
» Componente Delphi Brasil
Sex Jan 23, 2015 11:51 am por pedrosilva
» Erro no Delphi “A linha não pode ser localizada para atualiz
Sex Out 24, 2014 11:47 am por Edson
» Fontes Automação Comercial 8.5 - Retaguarda c/ PDV, PAF 1.10, TEF, ECF, Sintegra, SpedFiscal, Google Maps e muito mas...
Ter Out 14, 2014 9:55 am por john marcos