Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 04-10-2005
Avatar de sierraja
sierraja sierraja is offline
Miembro
 
Registrado: sep 2004
Posts: 281
Poder: 20
sierraja Va por buen camino
Question Borrar lo que esta dentro de un scrollbox

De qué manera se podría borrar los TLabel, Button, CheckBox que se encuentran dentro de un scrollbox en tiempo de ejecución?
Responder Con Cita
  #2  
Antiguo 04-10-2005
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.289
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Puedes recorrer todos los componentes del formulario utilizando los métodos componentCount y Componentes[i].
Una vez que hagas el recorrido, se trata de preguntar cuales están dentro del scrollbox para borrarlos; Para ello puedes utilizar la propiedad Parent. Algo así:

Código Delphi [-]
 var
   i:Integer;
   ctrl:TControl;
 begin
 
   // recorrer la lista de componentes (al revés)
   for i := (Self.ComponentCount - 1) downto 0 do begin
     // Es un TControl ?
     if (Self.Components[i] is tControl) then begin
       ctrl := TControl(Self.Components[i]);
       // Está en el Scrolll?
       if (ctrl.Parent = ScrollBox1) then begin
         MessageDlg('Se va a borrar: ' + ctrl.Name, mtWarning, [mbOK], 0);
         FreeAndNil(ctrl);
       end;
     end;
   end;
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #3  
Antiguo 04-10-2005
Avatar de yusnerqui
yusnerqui yusnerqui is offline
Miembro
 
Registrado: mar 2004
Ubicación: Cuba
Posts: 679
Poder: 21
yusnerqui Va por buen camino
Otra salución

Hola, por qué no usar las propiedades controls y controlcount del propio TScrollBox, de esta forma solo recorremos los elementos que nos interesa (controles del ScrollBox1) y simplemente los destruimos.

Código Delphi [-]
procedure TForm1.Button2Click(Sender: TObject);
var
   i : integer;
begin
  for i := ScrollBox1.ControlCount -1  downto 0 do
      ScrollBox1.Controls[i].Free;
end;

Bueno pues ahora tienes dos vías

Saludos Yusnerqui
__________________
Lo importante no es llegar primero, sino saber llegar.

Para que puedas llegar mejor lee la Guia de Estilo

Responder Con Cita
  #4  
Antiguo 04-10-2005
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.289
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por yusnerqui
...por qué no usar las propiedades controls y controlcount del propio TScrollBox?
Efectívamente, porqué no usarlas... (se me pasó...)

Cita:
Empezado por yusnerqui
...Bueno pues ahora tienes dos vías...
A usar preferiblemente la de yusnerqui, ya que es más clara y eficiente.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #5  
Antiguo 05-10-2005
Avatar de sierraja
sierraja sierraja is offline
Miembro
 
Registrado: sep 2004
Posts: 281
Poder: 20
sierraja Va por buen camino
ok Probaré apenas llegue a casa. Muchas gracias.....
Responder Con Cita
  #6  
Antiguo 05-10-2005
Avatar de sierraja
sierraja sierraja is offline
Miembro
 
Registrado: sep 2004
Posts: 281
Poder: 20
sierraja Va por buen camino
Una pregunta: ¿Por qué se hace el recorrido al revés?. Gracias....
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 07:12:53.


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
Copyright 1996-2007 Club Delphi