Acomodar QRLabels en tiempo de ejecucion
Que tal, quiero imprimir las etiquetas de encabezado en tiempo de ejeción pero se me ha complicado. Tengo una tabla con los nombres de los campos y una longitud:
Etiqueta, Longitud ------------------- Nombre , 10 Domicilio, 30 Telefono, 12 Entonces en mi reporte necesito que el encabezado sea: Nombre Domicilio Telefono --------------------------------------------------------- Ramon Conocido 111111111 Estoy tratando de manipular la posicion de las etiquetas con la propiedad Left, pero la siguiente etiqueta se encima. O si hay alguna forma de saber el coordenada, o algo asi como el valor de rigth de donde termina la etiqueta para a partir de ahi comenzar la otra etiqueta. |
Manipulá también el width, asi evitarás el problema:
Por cierto... ¿es válido decir "se encima"? Hasta luego. ;) |
Cita:
Pero también necesitas asignar False a la propiedad Autosize del QRLabel y el código que te mostró jachguate colócalo el evento OnPreview del QReport. Saludos |
Ok gracias pero creo que no es la solucion. YO hago esto
pero no me sirve cuando la longitud que me indica el campo no es muy adecuada, ademas la separacion de las etiquetas no me checa el width con el left. Lo que me ayudaria es saber en que posicion o coordenada quedo el lado derecho o la terminacion de la etiqueta (Qrlabel), para a partir de ese valor poner el left de la siguiente Qrlabel |
No, lo que estas haciendo es incremetar por numero de caracteres, pero no es así, debes de conocer en pixeles el tamaño del campo que vas a mostrar y no el numero de caracteres.
Saludos |
Excato egostar, la estaba regando ya quedo solucionado Muchas gracias
|
conocer en pixeles el tamaño del campo ???
como lo consigo existe alguna funcion??
Cita:
|
Lo más simple es poner una fuente Courier New ya que el ancho de cada letra es el mismo.
Si se necesita más complejo, revisa la funcion FontWidth Saludos |
Lepe a que te refieres con
Cita:
al crear el qrlabel?? yo solo trato de crear QRDbtext y QRLabel en tiempo de ejecucion lo que pasa es que se solapan , solo se ve completo el ultimo qrlabel creado con AutoSize := True; mientras que si pongo AutoSize := False; ni el ultimo se ve entero |
Al poner la fuente como Courier New, todos los caracteres son igual de anchos, así que podemos usar algo como:
Suponiendo que un caracter son 10 pixeles de ancho, (es cuestion de hacer un par de pruebas para saber el ancho real). Sabiendo lo anterior, ya podemos asignar los qrLabel.Left para que no se solapen unos con otros. Saludos y suerte, que QuickReports es muy suyo ;). |
La franja horaria es GMT +2. Ahora son las 16:01:07. |
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