PDA

Ver la Versión Completa : Ocultar TQRimage al imprimir reporte (QuickReport)


Theluar
07-05-2013, 20:02:18
Hola a todos , Saludos.

Bueno, Resulta que tengo un reporte hecho con el Quick report, es una factura en donde tengo la imagen de la factura en un TQRImage.

La imagen la utilizo de fondo solo para visualizar bien los datos y la posición de los mismos.

Mi Problema es que no quiero que al imprimir el formato, me imprima la imagen sino que imprima solo los datos.

he intentado en los eventos del TQuickRep, tales como BeforePrint el codigo sigiente: QRImage1.visible:=False;
y tambien he intentado con :
QRImage1.Enabled:=False;
Y con los dos juntos pero aun asi sige imprimiendo la imagen;

* La idea es que sobre hojas membretadas se impriman solo los datos.Pero que al solo visiualizar la factura en la computadora me muestre la imagen con los datos, como un ejemplo de la factura.

De antemano gracias por su ayuda y sugerencias..

TiammatMX
07-05-2013, 20:08:34
... QRImage1.visible:=False;
y tambien he intentado con :
QRImage1.Enabled:=False;...

¿Y probaste VACIAR la imagen? Digamos...

QRImage1.Picture := '';

Creo que sólo te faltaría probar ésto. Aunque siempre puedes gritarle al componente a ver si te hace caso... :p:p:p

ecfisa
07-05-2013, 22:56:36
Hola Theluar.

¿ Y no te resulta mas simple utilizar el método Preview para visualizar los datos ?

De todos modos como te sugiere tiammat no visualizaría la imágen. (Con la salvedad que al tratarse de un puntero, tendrías que asignarle nil)

Realiza la asignación en el evento BeforePrint del TQuickRep:

QRImage1.Picture := nil;


Saludos. :)

Theluar
08-05-2013, 01:12:09
hola. Saludos.

Muchas gracias Tiammat y ecfisa por su pronta respuesta.

Bueno ya habia intentado eso tambien(Las dos formas que me han dicho. y lo volvi a intentar por si se me habia escapado algo ).Pero resulta que si me quita la imagen y no la imprime.

pero al realizar el preview ya no me aparece la imagen.

juanelo
08-05-2013, 01:45:26
El problema es que hay que entender que aunque se mande a "preview", la impresión ya se realizó. Yo intentaria en el evento de AfterPreview, si siempre se manda a pantalla primero.
Saludos

Theluar
08-05-2013, 19:13:18
Perfecto Funciono...!!
Gracias juanelo cambie el evento al afterpreview y funciono.

Lo solucione así:

procedure TFactura.reportAfterPreview(Sender: TObject);
begin
QRImage1.Picture:=nil;
end;
:

y vuelvo a cargar la imagen en el botton donde mando llamar al evento preview del reporte :


procedure TForm1.Button1Click(Sender: TObject);
begin
with Factura Do
begin
QRImage1.Picture.LoadFromFile('C:\carpeta\imagen.bmp');
report.preview;//Abrir reporte de factura;
end;


Gracias a juanelo, tiammat y ecfisa. por ayudarme a solucionar mi problema.

*Nota: Para posteriores Consultas: Recuerden que Factura hace referencia al Form donde se encuentra el quickRep. que debe ser agregado en el uses.

AzidRain
08-05-2013, 23:32:32
Una sugerencia que te puede servir:

Por que no en lugar de guardar la imagen en el propio form, la cargas desde un archivo, además de que te ahorrarás algo de espacio si cambian el formato simplemente cambias el archivo y no tienes que recompilar.