Ver Mensaje Individual
  #6  
Antiguo 14-01-2006
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Reputación: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por Lepe
Si un contenedor no tiene componentes dentros, se hace su llamada, pero saldrá inmediatamente
Es que el punto no es tanto si tiene componentes dentro o no, sino si puede o no tener componentes dentro, esto es, si realmente es un contenedor. Por eso el condicional que pone Ohcan no es gratuito aunque a ambos se les ha pasado el hecho de que ni TComponent ni TControl son contenedores.

La rutina podría quedar así:

Código Delphi [-]
procedure MirarDentro(Contenedor: TWinControl);
var
  I: Integer;

begin
  for I := 0 to Contenedor.ControlCount - 1 do
  begin
    if Contenedor.Controls[i] is TWinControl then
      MirarDentro(TWinControl(Contenedor.Controls[i]))
    
    // código aquí
  end;
end;

Así, el condicional abarca TGroupBox, TPanel, etc. que es, me parece, lo que Ohcan quería indicar con el comentario:

Código Delphi [-]
//o TPanel o ...

// Saludos

Última edición por roman fecha: 14-01-2006 a las 19:40:25.
Responder Con Cita