Cita:
Empezado por capo979
de esa forma puedo pero en realidad yo no se que componentes tengo, en este ejemplo que mostre pregunto si son labels pero en realidad puedo tener cualquier componente y quiero cambiar los que tengan caption
|
Supongo que lo que no quieres es tener un montón de IF seguidos preguntando por los diferentes tipos de componentes.
Para evitar eso puedes utilizar RTTI.
En mi página
Web, en la sección de tips hay uno titulado
"Modificar propiedades de controles en ejecución utilizando RTTI", que explica cómo utilizar RTTI para evitar tener que hacer justo cosas como estas...
Código Delphi
[-]
for i := 0 to (Self.ComponentCount - 1) do begin
if (Components[i] is TEdit) then
TEdit(Components[i]).Enabled := False;
if (Components[i] is TLabel) then
TLabel(Components[i]).Enabled := False;
if (Components[i] is TListBox) then
TListBox(Components[i]).Enabled := False;
...