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 18-08-2005
Avatar de TinkerBell
TinkerBell TinkerBell is offline
Miembro
 
Registrado: oct 2004
Posts: 24
Poder: 0
TinkerBell Va por buen camino
Angry TControlBar

Buenas tardes a tod@s:

Mi problema es el siguiente, en mi aplicación tengo un ControlBar que tiene a su vez varias ToolBar, me gustaría conocer en tiempo de ejecución cuantas toolbar tiene asignadas y el nombre de ellas, lo he intentado con Controls, con dockclient...pero no he conseguido lo que quiero, me podriais ayudar??

Muchas gracias de antemano, un saludo
Responder Con Cita
  #2  
Antiguo 18-08-2005
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Miembro
 
Registrado: abr 2004
Ubicación: RD & USA
Posts: 3.236
Poder: 24
vtdeleon Va por buen camino
Saludos

Intentalo con un bucle, recorriendo todos los componentes del formulario y chequiando si es un ToolBar

componentCount
__________________
Van Troi De León
(Not) Guía, Code vB:=Delphi-SQL, ¿Cómo?
Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto!
Responder Con Cita
  #3  
Antiguo 18-08-2005
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Creo que puedes lograr lo que persigues haciendo uso del método "FindChildControl" conque cuentan los "TControlBar", los cuales lo heredan de "TWinControl". Sería algo más o menos así:

Código Delphi [-]
  procedure TForm1.BitBtn1Click(Sender: TObject);
  begin
    if ControlBar1.FindChildControl('ToolBar1') <> nil then
      Caption := 'ToolBar1 está en el ControlBar1';
  end;
__________________
David Esperalta
www.decsoftutils.com

Última edición por dec fecha: 18-08-2005 a las 21:42:15. Razón: (corrección del texto)
Responder Con Cita
  #4  
Antiguo 19-08-2005
Avatar de TinkerBell
TinkerBell TinkerBell is offline
Miembro
 
Registrado: oct 2004
Posts: 24
Poder: 0
TinkerBell Va por buen camino
Gracias dec,

Habia intentado algo parecido a tu opción pero creo que no lo hacia correctamente, lo probaré de esa manera aunque haciendo otras pruebas he encontrado otra cosa que me puede servir.

Muchas gracias denuevo.
Responder Con Cita
  #5  
Antiguo 20-08-2005
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Cita:
Empezado por TinkerBell
(...) haciendo otras pruebas he encontrado otra cosa que me puede servir.
¿Podrías decir el qué, por si le puede resultar de utilidad a alguien? Gracias
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #6  
Antiguo 22-08-2005
Avatar de TinkerBell
TinkerBell TinkerBell is offline
Miembro
 
Registrado: oct 2004
Posts: 24
Poder: 0
TinkerBell Va por buen camino
Es muy simple pero para lo que necesito me vale, es lo siguiente:

Código Delphi [-]
//una vez encontrado el componente controlBar se lo asigno a una variable
controlBar := TControlBar(Components[i]);
//recorro los componentes de mi formulario y al encuentro una ToolBar(*)
     for j := 0 to componentCount -1 do
     begin
        if (Components[j].ClassType = TToolBar) then
        begin
         barra := TToolBar(Components[j]);
         for k := 0 to controlBar.ControlCount - 1 do
         begin
//(*) compruebo si el Name de este componente encontrado corresponde 
//con el nombre de algún componente del ControlBar
            if barra.Name = controlbar.Controls[k].Name then

Última edición por TinkerBell fecha: 22-08-2005 a las 10:15:33. Razón: cambio etiqueta
Responder Con Cita
  #7  
Antiguo 31-07-2007
KmoCuesta KmoCuesta is offline
Registrado
 
Registrado: ene 2005
Ubicación: Mar del Plata, Buenos Aires Argentina
Posts: 8
Poder: 0
KmoCuesta Va por buen camino
Esto es un poco mas corto

medio tarde pero bue.. para el que busque

i:=0;
For I:= Form1.ComponentCount -1 downto 0 do
begin
if Components[i] is TToolButton then
TToolButton (Components[i]).Enabled := False;//pon la propedad que te interese
end;
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:50:09.


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