Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   C++ Builder (https://www.clubdelphi.com/foros/forumdisplay.php?f=13)
-   -   Recorrer componentes padres (contenedores) desde el último elemento al Primero (c++) (https://www.clubdelphi.com/foros/showthread.php?t=96549)

Drummer 27-12-2023 11:07:40

Recorrer componentes padres (contenedores) desde el último elemento al Primero (c++)
 
Hola

Como ejemplo creo un formulario con tres componentes TRectangle, cada uno de ellos contiene otro componente TRectangle excepto el último (TRectangle3) que tiene el foco:

Form1
I
Trectangle1
I
TRectangle2
I
TRectangle3


Pretendo ir componente por componente desde TRectangle3 hasta el Form1 inicial y modificar alguna propiedad del componente "activo" en ese momento.


He intentado usar:

Código:

this->Root->GetObject();
Pero no consigo que funcione (programo en C++)

Alguna idea gracias.

Neftali [Germán.Estévez] 27-12-2023 13:29:10

Sólo para aclarar, ¿VCL o FMX?
De todas formas yo probaría con el Parent (propiedad) de cada componente/objeto.

Drummer 28-12-2023 09:28:20

Gracias por contestar.

Cita:

Sólo para aclarar, ¿VCL o FMX?
FMX.

Ok, correcto.. TFmxObjec tienen la propiedad FMX asociada Parent.

Intentare implementarla en un bucle para recorrer conponente a componente. y os cuento...

Drummer 29-12-2023 10:37:22

Hola

La Solución seria:

Código:


TControl* obj = TRectangle3;
 
ShowMessage(obj->Name); // Rectangle3
 
while (obj->HasParent()) {
 
    obj = (TControl*)obj->GetParentComponent();
 
    ShowMessage(obj->Name); // Rectangle2, Rectangle1, Form1
 
}


Neftali [Germán.Estévez] 29-12-2023 12:27:18

Gracias por el código.
^\||/


La franja horaria es GMT +2. Ahora son las 22:37:41.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi