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 29-09-2008
Avatar de rgstuamigo
rgstuamigo rgstuamigo is offline
Miembro
 
Registrado: jul 2008
Ubicación: Santa Cruz de la Sierra-Bolivia
Posts: 1.646
Poder: 17
rgstuamigo Va por buen camino
Thumbs up Deshabilitar Componentes de un GroupBox

Hola amigos foristas, quisiera saber como desabilitar(enabled)los componentes contenidos en GroupBox para poner sus propiedades enabled:=false.
Osea quiero recorrer el contenedor sacar referencia de cada componente u poner su propiedad enabled:= false.
Pense que tal ves poniendo el GroupBox su enabled en false serviria, desde luego, pero los componentes que contiene no se comportan visiblemente como un enabled, y lo que quiero en que se pongan (que se vea como componentes enabled)me entienden.De ahi la idea de recorrer todo el contenedor,sacar uno a uno los componentes,y ponerlos en enabled.
Pero me encuentro con que un que la Clase TComponent no tiene la propiedad enabled. Aqui pongo un poco de codigo sobre el caso:

Código Delphi [-]
procedure TForm5.DesabilitarGrupos(g: TGroupBox); 
var i:Byte; co:TComponent;
 begin       
 for i:=0 to g.ComponentCount-1 do
   begin 
          co:=g.Components[i];
           //co.Enabled:=False; --? Aqui no sale la propiedad enable
           //¿Que hago?  
   end;
end;

Cualquier ayudita es bien recibida.
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7

Última edición por roman fecha: 02-10-2008 a las 06:35:10. Razón: Corregir etiquetas [delphi]
Responder Con Cita
  #2  
Antiguo 30-09-2008
Avatar de DarkMan
DarkMan DarkMan is offline
Miembro
 
Registrado: jul 2006
Posts: 102
Poder: 18
DarkMan Va por buen camino
Para utilizar la propiedad enabled de todos los componentes debes referenciarlos utilizando la clase TControl:
Código Delphi [-]
procedure TForm5.DesabilitarGrupos(g: TGroupBox); 
var 
  i: Byte; 
begin 
  for i:=0 to g.ComponentCount-1 do 
    (g.Components[i] as TControl).Enabled:=False;
end;
__________________
"La recompensa de una buena acción está en haberla hecho"

Última edición por DarkMan fecha: 30-09-2008 a las 00:40:10.
Responder Con Cita
  #3  
Antiguo 30-09-2008
Avatar de rgstuamigo
rgstuamigo rgstuamigo is offline
Miembro
 
Registrado: jul 2008
Ubicación: Santa Cruz de la Sierra-Bolivia
Posts: 1.646
Poder: 17
rgstuamigo Va por buen camino
Lightbulb

Gracias amigo Darkman por responder, pero de esa forma que tu dices, me salia un error parece ser que no puede encontrar la cantidad de componentes del GroupBox, lo depure y me sale que que siempre la linea (g.ComponentCount) me sale 0(cero)aunque el GroupBox tenga componentes.
Finalmente lo resolvi de la siguiente manera:

Código Delphi [-]
procedure 
TForm5.DesabilitarGrupos(g: TGroupBox); 
var i:Byte;
 begin    
    for i:=0 to g.ControlCount-1 do
           g.Controls[i].Enabled:=False;
 end;

Para que hacer casting si se puede obtener el control directamente, Bueno la verdad no sabia que hacia la clase TControl pero tu ejemplo me ayudo a darme cuenta.Gracias amigo
ah tu sabes por que las etiquetas para que se vea como codigo delphi no me funciona?por que le pongo etiquetas delphi a mis codigos que pongo en mis respuestas pero me lo desordena el codigo y al final me sale igual no mas....¿será por que no soy usuario premiun?
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7

Última edición por rgstuamigo fecha: 10-02-2010 a las 14:51:38. Razón: Corregir las etiquetas [delphi]
Responder Con Cita
  #4  
Antiguo 01-10-2008
Avatar de DarkMan
DarkMan DarkMan is offline
Miembro
 
Registrado: jul 2006
Posts: 102
Poder: 18
DarkMan Va por buen camino
Cita:
Empezado por rgstuamigo Ver Mensaje
ah tu sabes por que las etiquetas para que se vea como codigo delphi no me funciona?por que le pongo etiquetas delphi a mis codigos que pongo en mis respuestas pero me lo desordena el codigo y al final me sale igual no mas....¿será por no soy usuario premiun?
Es un pequeño bug que tiene el foro, cuando creas una etiqueta en un mensaje y le das a vista previa, la etiqueta se altera (se elimina). La solución es postear el mensaje directamente y si existe algo mal que debas editar lo editas con el boton 'edit'.
__________________
"La recompensa de una buena acción está en haberla hecho"
Responder Con Cita
  #5  
Antiguo 02-10-2008
Avatar de rgstuamigo
rgstuamigo rgstuamigo is offline
Miembro
 
Registrado: jul 2008
Ubicación: Santa Cruz de la Sierra-Bolivia
Posts: 1.646
Poder: 17
rgstuamigo Va por buen camino
Gracias amigo DarkMan
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
GroupBox es un contenedor...? entonces porque no puedo contar los componentes....? Kenobi Varios 1 25-03-2009 14:49:12
Cambiar el color del título en un GroupBox zajoma OOP 2 21-07-2008 08:18:48
Habilitar controles de un GroupBox luigi_cr OOP 3 21-11-2007 19:27:51
Modificar borde de groupbox Albano OOP 2 30-03-2007 00:09:47
Deshabilitar TODOS los componentes de un Form TrUnkS OOP 3 12-04-2006 21:28:28


La franja horaria es GMT +2. Ahora son las 23:19:13.


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