FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Agrupar componentes
Hola a todos/as:
Tenemos el Borland Delphi 2005 y nos gustaría saber si es posible agrupar lógicamente componentes. Es decir: seleccionar una serie de componentes y formar un grupo con ellos al cuál se le da un nombre. Luego ese nombre de grupo se utilizaría en el código para dar una misma orden a todos los componentes. Por ejemplo, agrupo los botones BitBtn1, BitBt2 y BitBtn3 en el grupo "Group1". Y luego en el código hago "Group1.Visible:= false;", y el efecto sería que los tres botones se ocultan. ¿Es posible hacerlo en Borland Delphi 2005? Un saludo David Rguez. |
#2
|
||||
|
||||
Para eso puedes utilizar Tepanel y TGroupBox. Si ocultas un panel, todos los componentes que contenga también se ocultan.
|
#3
|
||||
|
||||
Hola,
no estoy seguro de que se pueda hacer eso de la manera que lo pides ni con Delphi2005 ni con ninguna otra versión. Pero lo que si puedes hacer es lo siguiente: - Los formularios de Delphi tienen una propiedad llamada Components. Que es una matriz con todos los componentes que hay en ese formulario. - Tambien tienes una función llamada FindComponent que te permite buscar un componente en concreto en el formulario - Por último puedes preguntar a un elemento de la lista de Components si ese objeto pertenece a una clase en concreto y si es así, puedes modificar sus propiedades. Para muestra un botón: La siguiente función recorre todos los componentes y para unas determinadas clases de objetos vacia su contenido (sean texto, labels, combos, etc.)
Esta función afecta a todos los componentes del formulario que sean de estas clases. Si sólo quieres que afecte a los edits del formulario y además a sólo algunos de ellos, puedes usar la función FindComponent. Otro ejemplo: en el formulario debe haber 7 checkbox como mínimo y deben tener la nomenclatura igual: MiCheck1, MiCheck2, ... La función busca esos checkbox y los marca.
Bueno después de todo este rollo, espero que te pueda servir algo. Y si me he equivocado en algo, que me corrijan, y si alguien tiene alguna idea mejor... Saludos |
#4
|
||||
|
||||
Cita:
Saludos |
#5
|
|||
|
|||
Cita:
La idea del grupo es para, dentro de un mismo panel, poder tener distintas disposiciones manteniendo componentes sin mover, estando estos entrelazados (si pusiera un panel, los componentes fijos saldrían cortados), de forma que pueda dar una orden a todo ese grupo sin tocar el resto de los componentes que puedan estar "físicamente" entre ellos. No sé si me doy a entender bien. |
#6
|
||||
|
||||
Cita:
Así puedes tener dentre de un panel principal, varios paneles. En los cuales a uno le pones unos componentes que no quieres que se toquen y otros que lo puedes ocultar, deshabilitar, etc en otro panel. Para ello debes modificar las siguientes propiedades: - BevelInner = bvNone - BevelOuter = bvNone - BorderWidth = 0 Así el panel no se notará nada. Creo que es lo que buscas (si lo he entendido bien) Saludos |
#7
|
|||
|
|||
Cita:
Código PHP:
Lo que busco es poder dar una orden directa a 1 y a 3 para que se oculten (con solo 2 componentes no me importaría dar la orden uno por uno, pero cuando se juntan en mayor número toca un poco más las narices). Última edición por david.rguez fecha: 08-06-2007 a las 13:55:16. |
#8
|
||||
|
||||
¿Y por qué no creas una clase? Por ejemplo (así, a lo burro):
Posiblemente esto no funcione y que haya una estructura mejor que el ARRAY para almacenar referencias a componentes, pero creo que entiende la idea. [edit] Bicho tiene razón: si quitas los bordes a un panel y le pones el mismo color que el fondo de la aplicación se vuelve invisible. Última edición por Ñuño Martínez fecha: 08-06-2007 a las 13:47:02. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Agrupar archivos... | craven | Varios | 3 | 01-11-2006 21:58:20 |
agrupar de a 1 y varios | raudelink | SQL | 3 | 16-11-2004 00:58:11 |
Agrupar en QuickReport | anitra_cattivo | Impresión | 6 | 26-08-2003 02:13:42 |
Agrupar ? | ramiretor | Impresión | 1 | 16-05-2003 01:51:32 |
Agrupar información | nfernandez | Impresión | 1 | 08-05-2003 20:19:00 |
|