FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
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" ya no sé si cortarme las venas o dejármelas crecer Lo intento en el evento OnShow del form tal que así Código:
var i : integer; w : integer; begin w := 0; for i:=0 to Lista.Items.Count-1 do if( Lista.Canvas.TextWidth(Lista.Items[i])>w ) then w := Lista.Canvas.TextWidth(Lista.Items[i]); Form1.Width := w; end; ¿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) |
#2
|
||||
|
||||
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
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
#3
|
||||
|
||||
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 No se te ocurre nada? Dicen que cuatro ojos ven más que dos, ¿donde me estoy colando? Abrazotes Salvador |
#4
|
||||
|
||||
en que versión de delphi estas trabajando???
Yo acabo de hacerlo en mi ya desempolvado delphi4, y con 12 pixels funciona de maravilla!
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
#5
|
||||
|
||||
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 |
#6
|
||||
|
||||
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. |
|
|
|