Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Impresión (https://www.clubdelphi.com/foros/forumdisplay.php?f=4)
-   -   Ajustar verticalmente el QRShape al Alto del QRBand (https://www.clubdelphi.com/foros/showthread.php?t=70179)

yusnerqui 05-10-2010 01:36:47

Ajustar verticalmente el QRShape al Alto del QRBand
 
Hola amigos, primero que todo agradecer por leer mi hilo

Resulta que estoy haciendo un reporte cuadriculado, para las líneas horizontales no tengo problemas, pues con la propiedad frame de la vanda trabaja muy bien, el problema está en las líneas verticales, que trato de hacerlas con un QRShape.

La falla está dada por culpa de un QRDBText con la propiedad wordWrap y AutoStresh establecida a true para que se ajuste al texto verticalmente. Cuando el texto ocupa mas de una línea el QRShape como es lógico no se me agranda, he tratado de igualar el hegth de este último al del QRDBText, en varios eventos de impresión pero al pareser esta propiedad no se modifica con el wordwrap.

El resultado final es que tengo renglones con las líneas verticales que llegan solo hasta la mitad o un tercio del alto. Si alguien le ha sucedido y me puede ayudar se los agradecería mucho

Gracias reiteradas

Un salu hasta la mitad Yusnerqui

yusnerqui 06-10-2010 21:27:45

Bueno ya lo resolví, ahora un poco de memoria les digo, QuitReport tiene un método que dado un texto y un tipo de letra te retorna el ancho que ocupa este texto, ahora mismo no recuerdo su nombre.

Bien la división entera (div) del ancho del texto entre ancho del QRDBtext te dará la cantidad de líneas que se necesita para mostrar dicho texto, o más bien la cantidad de líneas menos uno Ej: Ancho del texto 32 ancho del QRDBtext 10 32 div 10 = 3 lo que quiere decir que necesitamos 4 líneas para mostrar el texto.

Ahora para saber cuanto debe crecer el QRShape solo debemos multiplicar el alto del QRDBtext por el resultado de la división, ese valor es el que debemos adicionar a la altura del QRShape Ej Ancho del texto 32 ancho del QRDBtext 10 Altura del QRDBtext= 5

32 div 10 = 3
3x5=15

Luego

QRShape.heigth= AlturaInicial+15

Todo este proceso debe hacerse en el evento BeforePrint de la QRBand. En fin he tratado de explicar lo mejor posible, si a alguien se le presenta y tiene dudas aqui pues que postee aqui y trataré de aclararle.


La franja horaria es GMT +2. Ahora son las 18:54:20.

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