Fórum Criar comp em tempo de execução com eventos onclick e outros #277500
15/04/2005
0
Teria como vocês me ajudarem, outra coisa que não consegui fazer é o seguinte eu tentei criar um scrollbox criado em tempo de execução e dentro dele tentei criar outros componentes mas não consegui.
Preciso de uma ajuda...
Obrigado
Levisants
Curtir tópico
+ 0Posts
16/04/2005
Raserafim
... uses ......, StdCtrls; //declare a unit q tem o tipo de classe q vc vai usar. ... var .....; Botao: TButton; implementation ... Botao := TButton.Create(Self); Botao.Parent := Self; //defina as outras propriedades
desta forma vc cria um componente dinamicamente. para colocar um componente dentro do outro, basta na proipriedade Parent vc colocar o nome do componente que será o pai.
Gostei + 0
16/04/2005
Levisants
Mas agora gostaria de saber como por enventos em um objeto criado em tempo de execução.
Tipo assim eu crio um botao e nele eu crio uma rotina que ira executar um arquivo.
Pra cada objeto ele irá criar um evento e o mesmo irá executar uma rotina.
Gostei + 0
16/04/2005
Marco Salles
A Idéia esta na teoria de Ponteiro de métodos... Voce deve atribuir um método do formulário ao componente que voce esta criando em RumTime... O Método será executado , mesmo que voce o tenha definido dentro de outra classe (neste caso citado , foi o Formulário)
[b:42d37bd575]Assim no Formulário definiremos o método :[/b:42d37bd575]
type
TForm1 = class(TForm)
procedure ClickBotao(sender:Tobject);
private
{ Private declarations }
public
{ Public declarations }
end;
implementation
{$R *.DFM}
[b:42d37bd575]implementaremos o método[/b:42d37bd575]
procedure TForm1.ClickBotao(sender: Tobject); begin Showmessage(´evento on click´); end;
Veja , foi definido o método no formulário e foi implementado o método...
Agora simplismente podemos atribuir ao método OnClick De Um Botão Criado em RumTime a o método Compátivel do Objeto Form
Veja:
Botao := TButton.Create(Self); Botao.Parent := Self; //defina as outras propriedades Botao.OnClik:=Form1.ClickBotao; //atribuição do método
Esta tecnica pode ser extendida para muitos componentes e muitos outros eventos..
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)