FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Problema con TStatusBar
Hola,
Mi programa tiene una barra de estado del tipo TStatusBar. La barra contiene a su vez cinco paneles de informacion del tipo TStatusPanel. La anchura de la barra se ajusta según el tamaño de la ventana del programa, de esta manera, la barra de estado es tan ancha como lo es la ventana principal del programa. Los cuatro primeros paneles tienen una anchura fija. El problema aparece con el quinto panel. Este quinto panel no posee una anchura fija y se ajusta para completar lo que falta de ancho hasta completar el ancho de la ventana principal. En ese quinto panel tengo que escribir cierta información, la información es un texto normal que se guarda en la propiedad "text" del panel. Para escribir el texto utilizo: A veces la cadena es muy larga y en esos casos aparece el problema. La cadena no se escribe entera en el panel. Esto ocurre aunque en ese panel aún quede anchura para ocupar la cadena entera. Quiero decir que aunque el cajetin es grande, la cadena no se escribe hasta completar toda la anchura del panel, quedando esteticamente feo y perdiendo información. Es como si existiera una limitación que no me deja representar más de X caracteres aún quedando espacio para ellos. ¿Como puedo conseguir lo que quiero? ¿Existe ciertamente una limitación? He considerado que no debe existir esa limitación porque la propiedad "text" está declarada como un string. Gracias y un saludo. Última edición por Casimiro Notevi fecha: 18-06-2012 a las 17:43:33. |
#2
|
||||
|
||||
Si no has cambiado nada en el comportamiento del StatusBar, no deberías tener este problema. ¿Podrías mostrar una imagen de cómo queda el problema?
// Saludos |
#3
|
|||
|
|||
No he cambiado nada (o al menos intencionadamente), me puedes indicar que propiedades compruebo?
Aquí subo la foto: Gracias por tu respuesta. Saludos |
#4
|
||||
|
||||
¿Y el texto es más largo de lo que aparece ahí?
|
#5
|
|||
|
|||
Si claro, el texto es más largo, y como veis no aparece entero.
A la izquierda de ese panel existen otros paneles (de tamaño fijo) |
#6
|
|||
|
|||
Hola J.: Lo que podrias hacer es adecuar el ancho del ultimo panel de acuerdo al tamaño general del StatusBar.
Por ejemplo cuando vos creas los paneles todos tienen un tamaño fijo predeterminado en 50. Si tenes los 4 primeros paneles en 50, por ejemplo hagamos un par de cuentas: 4 X 50 = 200 entonces el tamaño del 5° panel va a ser del tamaño total del StatusBar menos los cuatro primeros. Podes verificar esto en el evento OnResize del Form
Asi vas a poder utilizar todo el espacio restante del statusBar asignandolo al 5. Saludos y espero que te sirva eso. Obviamente la limitacion va a estar dada por el tamaño de fuente y la cantidad de texto, no? |
#7
|
||||
|
||||
Hola J.Slann.
Tenes razón... cuando el TStatusPanel tiene su propiedad Style igual a psText deja un espacio significativo sin ocupar y realmente no sé el motivo de ese comportamiento. Pero dibujándolo manualmente, logré que el texto ocupe todo el ancho del Panel:
Saludos.
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#8
|
||||
|
||||
En realidad no es que deje un espacio. Más bien parece que, efectivamente, el texto está limitado a 127 caracteres:
Cita:
// Saludos |
#9
|
|||
|
|||
Gracias por las respuestas.
Efectivamente el problema era que se limitaba el espacio a 127 caracteres. He hecho lo que indicaba ecfisa y ya me funciona bien. Saludos |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
TStatusBar: problema al cambiar de color y mostrar el SizeGrid | LoPiTaL | OOP | 1 | 24-06-2011 12:52:22 |
Cambiar el color de un panel de TStatusBar | fide_uci | Gráficos | 4 | 03-02-2009 15:43:08 |
TStatusBar | jymy788 | Varios | 4 | 28-09-2007 20:04:10 |
TStatusbar | nenufer | OOP | 3 | 18-05-2006 20:47:13 |
Ayuda con TStatusBar | astur_racing | Varios | 10 | 06-09-2004 16:43:50 |
|