Delphi

Hola de nuevo, tengo un problema te lo explico:
Abro una nueva aplicación, inserto 3 componentes "edit" y un listbox.
Un edit es para el nombre, el otro para el teléfono y el otro para la dirección.
Tengo un botón que cuando lo pulse y esta es mi duda ¿Por cada linea del listbox quiero que me aparezca el nombre, teléfono y dirección pero que conforme inserto registros aparezcan alineados los nombres, teléfonos y direcciones? Lo he intentado:
-Que cuando introduzcas el texto en el edit añadir espacios en blanco hasta ocupe 20 espacios, así ocupan todos lo mismo y aparecen alineados, pero el problema es que lo hago haciendo un length(edit.text)y luego resto 20-la longitud y salen los espacios que tengo que añadir, pero hay un problema que no ocupa el mismo espacio una "a" que una "j", comprendes.
-Otra manera, con tabuladores pero no sirve porque si introduces en la 1ºlinea
sergio... Y en la 2ºsergio sanchez del rio("que es más largo")se descuadra.
-Otra manera, con la propiedad columns poniéndola a 3 pero esa no me sirve para lo que yo quiero hacer.
¿Me gustaría que me explicases una forma de hacerlo porque no doy con ella?
Muchas gracias por adelantado.

1 Respuesta

Respuesta
1
Pues realmente el ListBox está hecho para líneas simples. Para lo que tú quieres te recomendaría que usaras un tabla de datos y un DBGrid, que es multicolúmna (una para cada campo) y puedes hacer desaparecer las celdas para que todo quede alineado y como tú deseas.
No obstante, puedes seguir haciendo lo que me comentas con los espacios para encuadrar las palabras, pero tienes que darle a la propiedad Font del ListBox y usar la fuente (tipo de letra) "TERMINAL", que precisamente está para eso, para que una "i" ocupe lo mismo que una "O", y con esto tu problema de alineación y espacios queda solventado.
También puedes buscar por Internet tipos de fuentes estilo a esa de "Terminal" que mantienen la proporción de aspecto para que no descuadre y la instalas en tu Windows para poder usarla con Delphi.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas