Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 24-02-2007
Angel Fernández Angel Fernández is offline
Miembro
 
Registrado: may 2004
Ubicación: Valencia - España
Posts: 141
Poder: 20
Angel Fernández Va por buen camino
Orden de varios paneles alineados altop

Saludos al foro.

Quisiera plantear una duda un poco tonta, pero que no sé como resolver. Para contarlo, tengo que enrollarme un poco; perdón por adelantado. (Quizá a alguien le dé ideas para utilizarlo en sus proyectos).

Tengo que presentar mucha información en pantalla y para ello he creado un sistema de paneles que agrupan la información y que los puedo mostrar u ocultar apretando un botón. Sería algo así con todos los paneles mostrados:

-------------------------------------------------------
[-] Datos del fichero (Esto es el panel 1)
-------------------------------------------------------
Fecha acceso ..................(Esto es el panel 2 que
Fecha creación ............... se muestra o no apretando
etc ................................el botón - del panel 1)
-------------------------------------------------------
[-] Datos del cliente (Panel 3)
-------------------------------------------------------
Dato 1 .............................(Esto es el panel 4, mismo
Dato 2 .............................funcionamiento que el 2)
Dato 3
-------------------------------------------------------

Y así con varios paneles.

Cuando están los paneles ocultos sería algo así:
-------------------------------------------------------
[+] Datos del fichero (Esto es el panel 1)
-------------------------------------------------------
[+] Datos del cliente (Panel 3)
-------------------------------------------------------

Vendría a ser como los paneles deslizantes de Outlook pero de modo casero.
Cada panel está alineado altop y están todos juntos dentro de un scrollbox.

Bien, el problema es: Después de mostrar y ocultar los paneles una vez, a veces pasa
que se quedan en una disposición distinta a la diseñada por mí; algo así:

-------------------------------------------------------
[-] Datos del fichero (Esto es el panel 1)
-------------------------------------------------------
Fecha acceso
Fecha creación
etc
-------------------------------------------------------
Dato 1
Dato 2
Dato 3
-------------------------------------------------------
[-] Datos del cliente (Panel 3)
-------------------------------------------------------

Y esta disposición es aleatoria, cada vez de una forma.

El problema reside, creo yo, en que al hacer invisible un panel y luego visible, su alineación altop hace que se coloque por encima de otro panel.

De hecho lo he solucionado de una forma poco convincente: al hacer visible o invisible un panel, recorro todos los paneles por orden (1,2...etc) y, si son visibles, pongo su alineación primero albottom y a continuación altop. Con esto lo resuelvo, pero se crea un efecto de que todo se mueve durante una décima de segundo, que es visible y que llega a marear.

¿Alguien tiene alguna idea de cómo solucionarlo de otra forma?

Espero haberme expresado bien y perdón por el rollo.

Gracias de antemano.
Responder Con Cita
  #2  
Antiguo 25-02-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
Puedes hacer uso de 2 paneles para construir lo que dices.
Código:
-------------------------------------------------------
panel 1
             --------------------------------------
              panel 2  "Datos del Fichero"
             --------------------------------------

              Fecha de acceso ......
              Fecha creacion...  

Fin del panel 1
-------------------------------------------------------
El panel 1 tendría un borde (border = bsSingle) . El panel 2 puedes ponerlo raised (elevado) para destacar los títulos.

Así cuando quieras expandir/contraer el panel, solo tienes que cambiar el alto del panel 1.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #3  
Antiguo 25-02-2007
Angel Fernández Angel Fernández is offline
Miembro
 
Registrado: may 2004
Ubicación: Valencia - España
Posts: 141
Poder: 20
Angel Fernández Va por buen camino
Gracias Lepe por tu respuesta. Voy a probar lo que me dices a ver qué tal.
Responder Con Cita
  #4  
Antiguo 25-02-2007
Avatar de Crandel
[Crandel] Crandel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Parana, Argentina
Posts: 1.475
Poder: 23
Crandel Va por buen camino
Podrias hacer uso del componente VirtualTreeview que tiene muy buena presentacion para estas cosas
__________________
[Crandel]
Responder Con Cita
  #5  
Antiguo 25-02-2007
Angel Fernández Angel Fernández is offline
Miembro
 
Registrado: may 2004
Ubicación: Valencia - España
Posts: 141
Poder: 20
Angel Fernández Va por buen camino
Ya lo he resuelto.

Gracias Crandel por tu respuesta. Sin embargo, no me sirve el virtualtreeview, porque dentro de los paneles he puesto dbgrid para mostrar valores.

De todas formas, lo que me dijo Lepe ha funcionado. Siguiendo mi esquema del primer mensaje, es decir:

-------------------------------------------------------
[-] Datos del fichero (Esto es el panel 1)
-------------------------------------------------------
Fecha acceso ..................(Esto es el panel 2 que
Fecha creación ............... se muestra o no apretando
etc ................................el botón - del panel 1)
-------------------------------------------------------
[-] Datos del cliente (Panel 3)
-------------------------------------------------------
Dato 1 .............................(Esto es el panel 4, mismo
Dato 2 .............................funcionamiento que el 2)
Dato 3
-------------------------------------------------------

Lo que hago es ponel el panel 1 dentro del panel 2 y el 3 dentro del 4. Entonces, al pulsar el botón +/- lo que hago es cambiar el alto del panel 2 (o el panel 4) en vez de cambiar la visibilidad. Cuando no quiero mostrar información (panel cerrado) el panel 2 tiene la altura del panel 1, que tiene los títulos y siempre es visible. Cuando quiero mostrar información (panel abierto) aumento la altura. Sencillo y eficaz.

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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
un solo PopupMenu para varios paneles pjmedina Varios 2 28-04-2006 09:58:49
Inmovilizar paneles gaby_stars Varios 0 20-04-2006 19:58:55
Centrar PÁneles nax OOP 4 30-07-2005 06:18:45
Array de paneles (TPanel) VRO Varios 2 25-04-2005 11:29:32
Paneles Child JoseQ Varios 1 21-07-2004 11:09:52


La franja horaria es GMT +2. Ahora son las 08:03:48.


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