ComponentCount

Delphi

23/12/2006

Olá Pessoal,

Estou tentando utilizar a propriedade ComponentCount de um Groupbox e ele só retorna 0, sendo que dentro do Groupbox tem 10 edits, e um groupbox com mais 2 edits.

Estou tentando fazer algo assim

[b:ec1587df6e] for I := 0 to GroupBox1.ComponentCount -1 do
begin
if (GroupBox1.Components[I] is TEdit) then
begin
TEdit(GroupBox1.Components[I]).ReadOnly := True;
end;
end;[/b:ec1587df6e]

Será um bug ????

Marcelo


Mrangel

Mrangel

Curtidas 0

Respostas

Marcelo Saviski

Marcelo Saviski

23/12/2006

é que os componentes que ficam visualmente dentro de outros ficam em Controls[n]
n >=0 e n < ControlCount

no seu exemplo, se você usar GroupBox1.Controls[i] ao invés de components[i] funciona.

no GroupBox1.Components[i] ficam só os componentes cujo ´owner´ é o GroupBox1, neste caso, nenhum, porque o form é o owner de todos os componentes que estão nele.

um componentes se torna owner de outro quando esse componente é criado e é owner é passado como parametro, por exemplo:
EditNovo := TEdit.Create(GroupBox1);
dai, GroupBox.components[0] = EditNovo;


GOSTEI 0
POSTAR