TLabel criado mas não aparece.

Delphi

20/01/2005

Estou com o seguinte código:

procedure TForm1.colunasExit(Sender: TObject);
var i,j,p,q: integer;
temp: TLabel;
begin
...

temp:=TLabel.Create(Self);
with temp do begin
Top:=225;
Width:=35;
Left:=120+80*j;
Height:=24;
Caption:=´x´+IntToStr(j);
Visible:=True;
end;
...
end;

Os objetos TLabel que crio não estão aparecendo. O que há de errado?
obs.: j é uma variável de um for ... do.
Grato...


Joucoski

Joucoski

Curtidas 0

Respostas

Massuda

Massuda

20/01/2005

Todo componente visual precisa ter o valor da propridade Parent não nulo e associado a um outro componente visual. No seu caso, isso deve resolver:
procedure TForm1.colunasExit(Sender: TObject);
var     i,j,p,q: integer;
        temp: TLabel;
begin
...

             temp:=TLabel.Create(Self);
             with temp do begin

                  Parent := Self;  // <- faltou o Parent!

                  Top:=225;
                  Width:=35;
                  Left:=120+80*j;
                  Height:=24;
                  Caption:=´x´+IntToStr(j);
                  Visible:=True;
             end;
...
end;



GOSTEI 0
Joucoski

Joucoski

20/01/2005

um detalhe bobo, funcionou.
obrigado... :D


GOSTEI 0
Fernando Piccini

Fernando Piccini

20/01/2005

esta property [b:6fbc87d2e8]parent[/b:6fbc87d2e8], oq ela significa???

pq tem q atribuir self a ela???

ate mais!!!!


GOSTEI 0
Massuda

Massuda

20/01/2005

esta property [b:5e86552b74]parent[/b:5e86552b74], oq ela significa???

De um modo bem simples: Parent indica sobre qual componente visual o componente está posicionado.

Por isso, se Parent = nil, necessariamente o componente não pode ser visualizado, pois não é possível dizer onde o componente deve ser desenhado.

pq tem q atribuir self a ela???

No caso atribuiu Self como sendo o Parent do TLabel porque o TLabel está sobre um form e, no contexto da procedure usada pelo colega joucoski, Self é o próprio form. Se o TLabel estivesse dentro de um TPanel que estivesse dentro do form, então o Parent do TLabel teria de ser o TPanel.


GOSTEI 0
POSTAR