Programación General > C++ Builder
Cambiar Propiedad De Varios Componentes
neg1414:
Buenas
El caso es que tengo varios Componentes del mismo tipo a los que he denominado de la forma:
TComponent1
TComponent2
TComponent3
.......
TComponent40
Segun la eleccion del usuario se ejecuta un metodo "CambiarCaption" en la que se llama a un procedimiento propio del Componente (la mima llamada para cada componente)
CambiarCaption()
{
TComponent1->Procedimiento();
TComponent2->Procedimiento();
TComponent3->Procedimiento();
.............................
TComponent40->Procedimiento();
}
Mi pregunta es la siguiente: Al ser el procedimiento a ejecutar igual para todos los
Componentes seria posible Evitar la tediosa operacion de ir enumerando uno a uno todos los componentes con su respectiva llamada y hacerlo de una manera mas comoda
Gracias
Linspire:
Supongo que puedes recorrer todos los componentes con un ciclo for y cambiarles lo que deseas, puedes tomar el siguiente ejemplo para inspirarte, es para limpiar todos los Edits de un Form
--- Código: Text --- for (int i=0;i<ComponentCount;i++) { if(Components[i]->InheritsFrom(__classid(TCustomEdit))) ((TCustomEdit*)Components[i])->Clear(); }
Espero pueda servirte. Saludos :D
neg1414:
En primer lugar gracias por contestarme.
He probado tu solucion pero me ha surgido un problema:
El componente (Componentes: TComponent1, Tcomponent2...) lo he creado yo y el metodo al que llaman el grupo de componentes no es reconocido cuando realizo la llamada, de la misma forma que si reconoze el metodo clear() del TEdit del ejemplo.
((TComponentePropio*)Components)->MetodoPropio(); NO FUNCIONA
Espero Habeme explicado bien
Gracias Otra VEz
Linspire:
Si, si te he entendido, pero, todos los componentes son iguales? o son distintos? (es decir, todos son Edits (eg)o son Edits, Buttons y mas.)
:huh:
neg1414:
son todos el mismo componente vcl creado por mi (40 iguales)
Navegación
[#] Página Siguiente
Ir a la versión completa