GARANTIR DESCONTO

Fórum Wizar de Forms #258060

11/11/2004

0

Ae Galera estou precisando saber como posso criar edits e labels em tempo de execucao como o wizard de form do delphi faz, preciso criar posicionados e tal!!


Abraços. 8)


Pedrojp

Pedrojp

Responder

Posts

11/11/2004

Gurc

Colega, você vai fazer exatamente o que o Delphi faz pra você quando usa um TResourceStream e um TReader para ler os componentes de um formulário incorporado como recurso em um executável.
Deixa eu te passar um conceitos legais. O Owner é o cara responsável, principalmente, pela destruição dos objetos, é o dono deles e tem total responsabilidade. O parent é o container em que ele está inserido (pense em um panel, tabcontrol...)...
Certo, esses componentes, serão criados e configuraremos seu Owner e seu Parent. Vejamos:

(...)
with TEdit.Create(Self) do //Já configura o owner
begin
  Parent := Self; //Configura o parent, pode ser qualquer TWinControl
  Left := 100;
  Top := 50;
  Text := ´Hello World!´;
end;
(...)


Assim você cria um edit. Esperimente colocar qualquer componente. Depois de feito isso crie um forme e tente criá-lo e configurar seu parent para um panel, por exemplo. É bacana! Você terá um Form dentro de um panel! :wink: Você pode explorar isso para melhorar seus projetos.
Qualquer dúvida estamos aí!

Gustavo Royer Chaurais


Responder

Gostei + 0

11/11/2004

Pedrojp

Gustavo Realmente ficou legal so me surgiu uma duvida, como posso acessar por exemplo o conteudo deste edit uma vez que em fonte ele nao esta criado e nao consigo digitar o codigo:
Ex:
procedure TForm1.Button1Click(Sender: TObject);
begin
with TEdit.Create(Self) do //Já configura o owner
begin
Parent := Self; //Configura o parent, pode ser qualquer TWinControl
Left := 100;
Top := 50;
Name:=´Edit1´;
Text := ´Hello World!´;
end;
with TLabel.Create(Self) do //Já configura o owner
begin
Parent := Self; //Configura o parent, pode ser qualquer TWinControl
Left := 100;
Top := 35;
Caption := ´Menssagem´;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Edit1.text:=´teste´; //Aqui é onde nao esta rodando tem alguma ideia??
end;
end.


Responder

Gostei + 0

12/11/2004

Gurc

Gustavo Realmente ficou legal so me surgiu uma duvida, como posso acessar por exemplo o conteudo deste edit uma vez que em fonte ele nao esta criado e nao consigo digitar o codigo:

Legal, boa pergunta. Você tem que armazenar esse Edit em uma variável do tipo TEdit. É isso que o Delphi faz pra você. Ele cria o componente e o armazena em uma variável com o nome igual a propriedade Name do mesmo. Tente declarar uma variável na classe do seu form e criar o componente da seguinte maneira.
Em vez de...
with TEdit.Create(Self) do

Tente usar...
FEdit1 := TEdit.Create(Self);
FEdit1.Parent := Self;
FEdit1.Left := 100;
FEdit1.Topo := 100;

Acho que é isso... as variáveis que o Delphi cria para os componentes na sua classe de formulário, na verdade, fazem parte da seção published, embora não apareçam em seção nenhuma. Um software bem orientado a objetos seria implementado colocando-se essas na seção private da classe.
Isso é tudo!
Qualquer dúvida é só perguntar.
Gustavo Royer Chaurais


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar