Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Componentes activos (https://www.clubdelphi.com/foros/showthread.php?t=45907)

GustavoCruz 18-07-2007 01:42:00

Componentes activos
 
Hola a todos...

Mi pregunta consiste en lo siguiente; tengo un formulario con un tpagecontrol que contiene dos TabSheet y en ellos hay componentes TEdit, para recorrer los componentes de un formulario, yo, ejecuto el siguiente código,
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var
  i:integer;
  componente:TComponent;
begin
  for i:=0 to Form1.ComponentCount-1 do
    begin
      componente:=Components[i];
      if componente is TEdit then
         TEdit(componente).Clear;
    end;
end;
la pregunta es cómo recorro, solamente, los componentes del TabSheet activo...

De antemano gracias por todos sus aportes :)

dec 18-07-2007 01:45:29

Hola,

Algo así:

Código Delphi [-]

var
  i: integer;
begin
  for i := 0 to PageControl1.ActivePage.ComponentCount-1 do
  begin
    //
  end;
end;

roman 18-07-2007 03:14:16

Ojo, no es ComponentCount, sino ControlCount; esto es, lo que hay que recorrer es la lista Controls de ActivePage y no la lista Components.

// Saludos

dec 18-07-2007 03:40:43

Hola,

Vaya... ¿Existe alguna diferencia en este caso Román? :)

roman 18-07-2007 03:52:17

Components es la lista de componentes que posee el control, y en este caso el Owner sigue siendo el formulario, no el PageControl, así que éste no posee nada.

// Saludos

dec 18-07-2007 03:59:14

Hola,

Mientras que "Controls" dispondrá de los controles cuyo "padre" (Parent) sea la pestaña (TTabSheet) activa, o sea, si no me equivoco.

Muchas gracias Román. :)


La franja horaria es GMT +2. Ahora son las 18:47:22.

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