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 25-03-2015
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
¿Cómo ocultar los botones de un componente "TCategoryButtons"?

Hola a todos,

¡A ver si podéis echarme una mano con esto! Estoy utilizando un componente "TCategoryButtons" en cierto programa, y, me gustaría que se pudieran filtrar los botones para que sólo se mostrasen los que coincidiesen con aquello que busque el usuario. Es decir, suponiendo que tengo una lista de botones como:

Código:
Manolo
Pedrito
Francisco
... suponiendo que el usuario busque "Manolo", me gustaría que "Pedrito" y "Francisco" no apareciesen. El asunto no parece baladí, puesto que, cada botón de "TCategoryButtons" es un objeto "TButtonItem", que, no cuenta con una propiedad "Visible" o similar. Es decir, puedo "recorrer" todos los botones del componente, pero, no puedo ocultarlos llegado el caso.

Estoy a punto de descartar que exista la posibilidad de hacer lo que quiero, sin embargo, me llama la atención que el propio IDE de Delphi (al menos en Delphi XE2 es así) muestra la paleta de componentes en un "TCategoryButton", al menos el programa WinSpy indica que su clase se llama "TIDECategoryButtons", y, como sabéis, sí que es posible filtrar dicha lista de componentes...

¿Alguien se ha topado algún vez con este "problema"? ¿Y conoce la solución? ¿Y la quiere compartir?

¡Muchas gracias!
__________________
David Esperalta
www.decsoftutils.com

Última edición por dec fecha: 25-03-2015 a las 09:04:04.
Responder Con Cita
  #2  
Antiguo 25-03-2015
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.293
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
Pues la verdad es que a primera vista no se ve forma de hacerlo.
He revisado un poco el código (imagino que igual que has hecho tú) y si hay forma de hacerlo no es trivial.
__________________
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 25-03-2015
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,

Gracias Germán. En efecto, al menos en un "TCategoryButtons" estándar, parece que no se contempla esa posibilidad.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #4  
Antiguo 26-03-2015
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 30
jhonny Va camino a la famajhonny Va camino a la fama
Caramba, después de voltear un poco buscando, aparentemente no hay una manera "usual" de hacerlo, si alguno la tiene, por favor dígalo...

Lo único que se me ocurrió fue simplemente liberar los botones que no coincidan con tu búsqueda, luego de recorrer los TButtonItem y luego crearlos en ejecución cuando sean requeridos.

Adecuando el siguiente código para la necesidad de "ocultar":

Código Delphi [-]
CategoryButtons1.Categories[0].Items[0].Free;

Y el del siguiente link para la necesidad de volver a "mostrar":

Cita:
Código sacado de http://www.functionx.com/delphi/cont...rybuttons.htm:

Código Delphi [-]
procedure TForm1.FormCreate(Sender: TObject);
var
    SeriesOfButtons : TCategoryButtons;
    Category        : TButtonCategory;
    btn             : TButtonItem;
begin
    SeriesOfButtons := TCategoryButtons.Create(Self);
    SeriesOfButtons.Parent := Self;

    SeriesOfButtons.Left := 8;
    SeriesOfButtons.Top  := 40;

    Category := SeriesOfButtons.Categories.Add;

    btn := Category.Items.Add();
end;
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #5  
Antiguo 26-03-2015
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 Jhonny,

Pensé en la solución que propones, pero, no está demás volver sobre ello. En un principio la descarté, porque, precisamente, digamos que aprovecho la posibilidad de preparar dichos botones en tiempo de diseño, desde el mismo IDE de Delphi. Sin embargo, si no hay más remedio (tal vez cambiar a otro componente que permita lo que queremos de forma "natural") sería cuestión de ver el desempeño final de dicha solución.

Gracias por responder Jhonny. Si decido hacerlo ya contaré cómo va el asunto.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #6  
Antiguo 26-03-2015
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 30
jhonny Va camino a la famajhonny Va camino a la fama
Cita:
Empezado por dec Ver Mensaje
Hola Jhonny,

Gracias por responder Jhonny. Si decido hacerlo ya contaré cómo va el asunto.
Estaré atento
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
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
TCategoryButtons scriptors Varios 5 15-03-2015 15:28:26
Ocultar botones distintos form The Cid James Varios 13 01-08-2013 19:06:37
componente para botones El_Chava Varios 8 29-09-2005 16:35:00
Problema con Componente derivado de TPanel y Botones Critter Varios 4 05-09-2004 11:08:55
Crear un Componente TScrollbox con botones dentro CORBATIN OOP 15 06-05-2004 22:48:37


La franja horaria es GMT +2. Ahora son las 01:47:39.


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