Ajustar un Form al ancho de un texto
Hola y gracias por adelantado :)
Estoy intentando ajustar un Form a la línea más larga de un TListBox y después de estrujarme el "coco" :mad: ya no sé si cortarme las venas o dejármelas crecer :confused: Lo intento en el evento OnShow del form tal que así Código:
var ¿Donde estoy metiendo la pata???????? Lo dicho, agradecido por la ayuda que podais prestarme Nota: Antes de que me echeis la bronca, que conste que me he leido el foro de cabo a rabo, con búsquedas, a pelo y sigo como entré (ni repajolera idea) |
te has olvidado de los bordes... de los de la forma, y de los del listbox...
Has de hacer: Form1.ClientWidth := w + Unos5o10PixelsPorElBordeDelList; Hasta luego ;) |
Gracias por responder tan rápido :)
Lo del borde ya lo sé, pero como de todas formas se come casi un cuarto del texto, no nos vamos a pegar por 10 ó 12 pixels de nada :D No se te ocurre nada? Dicen que cuatro ojos ven más que dos, ¿donde me estoy colando? Abrazotes Salvador |
en que versión de delphi estas trabajando???
Yo acabo de hacerlo en mi ya desempolvado delphi4, y con 12 pixels funciona de maravilla! |
Hola jachguate, buenas noches-madrugadas desde Albacete
Estoy utilizando Delphi-7 porque quiero pasar los trabajos que tengo en la 3 a Kylix y aún no he instalado Linux, asi que como verás el salto es olímpico En Delphi-3 siempre he utilizado esa forma de ajustar los Forms y funcionaba ¿? El trabajo consiste en visualizar la respuesta de una query a un servidor mySql y que el usuario escoja entre una de los textos que devolvió el servidor, pero siempre se me queda unos dos cetímetros corto (utilizo un monitor de 19 pulgadas a 1024x800) y quiero que se vea en otros con menos resolución, por lo que he de ajustar el forma de salida en tiempo de ejecución Gracias, voy a probar a utilizar la propiedad ClientWidth del TListBox para ver si funciona |
Pues yo hice la prueba original en delphi4, pero ahora la he compilado en delphi7 y funciona perfectamente...
La resolución del monitor no creo que tenga nada que ver... por si las dudas, yo uso 1280x1024. el código:
Hasta luego. ;) |
solo he de resaltar que este código, en caso de estar vacio el ListBox, reducirá la forma a "invisible"... :eek:
Hasta luego, y buenas noches, en Guatemala, buenos dias en Albacete ;) ;) |
Lo más gracioso del caso, es que en el evento OnShow le he puesto que me escriba en una etiqueta y me dá un ancho de línea de 651, mientras que en el evento OnDrawItem del TListBox le he puesto otra y me dá lineas con 744 y 780
¿porqué esta diferencia? ¿Donde debo calcular el ancho de línea, antes de visualizar el Form o al "repintar" el TListBox? |
Cita:
Hasta luego. ;) |
Haber si soy capaz de explicarlo sin ocupar más de 500.000 líneas :D
Tengo un form principal en el que le meto una clave y llama a un segundo form (con ShowModal) que con la clave del anterior hace una consulta a un servidor de mySql, el cual responde con una serie de registros que almaceno en un TListBox (hasta aqui todo funciona) Este es el código del form principal Código:
Application.CreateForm(TWin_GetNubes, Win_GetNubes); Este es el código del for problematico Código:
Haber si te vale de algo |
Cita:
Gracias a todos, teneis pagado un carajillo en el bar de la esquina :D Son la 04:00 (locales) en Albacete y parece que la cosa funciona Os pongo el código por ai a algún otro le vale :p Código:
Lo dicho, agradecido por el tiempo perdido |
La franja horaria es GMT +2. Ahora son las 20:00:36. |
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