PDA

Ver la Versión Completa : Ajustar verticalmente el QRShape al Alto del QRBand


yusnerqui
05-10-2010, 01:36:47
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.