Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Impresión (https://www.clubdelphi.com/foros/forumdisplay.php?f=4)
-   -   Maximizar un QRCompositeReport (https://www.clubdelphi.com/foros/showthread.php?t=89159)

Angel.Matilla 06-10-2015 18:53:46

Maximizar un QRCompositeReport
 
Tengo un QRCompositeReport en C++ 6 con dos informes. Ambos en su definición están puestos como wsMaximized, pero al hacer un Preview del Composite me sale así:

¿Cómo hago para que se vea maximizado?

ecfisa 07-10-2015 04:24:47

Hola Angel.Matilla.

En el evento OnFinished del TQRCompositeReport:
Código PHP:

...
#include <qrprntr.hpp>
#include <qrprev.hpp>

...

void __fastcall TtuForm::QRCompositeReportFinished(TObject *Sender)
{
  for(
int i 0Screen->FormCounti++)
    if (
Screen->Forms[i]->ClassNameIs("TQRStandardPreview"))
      
static_cast<TQRStandardPreview*>(Screen->Forms[i])->FormStyle wsMaximized;


Saludos :)

Angel.Matilla 07-10-2015 09:32:35

Cita:

Empezado por ecfisa (Mensaje 497645)
En el evento OnFinished del TQRCompositeReport:

Gracias por la propuesta, pero no funciona; sigue dejándolo "en medio" de la pantalla.

ecfisa 07-10-2015 16:31:06

1 Archivos Adjunto(s)
Hola Angel.Matilla

El código fue probado en C++ Builder 6 y maximiza correctamente la ventana del preview. No sé como tenes organizada la vista preliminar o que te puede estar sucediendo.

Te adjunto el código de prueba para que puedas cotejarlo con el tuyo.

Saludos :)

Angel.Matilla 07-10-2015 17:53:40

Gracias. Te diré como me ha ido.

Angel.Matilla 07-10-2015 18:46:46

Cita:

Empezado por ecfisa (Mensaje 497656)
El código fue probado en C++ Builder 6 y maximiza correctamente la ventana del preview. No sé como tenes organizada la vista preliminar o que te puede estar sucediendo.

Te adjunto el código de prueba para que puedas cotejarlo con el tuyo.

Aunque básicamente es igual, sigue haciéndolo mal. :mad:
Código PHP:

#include <qrprntr.hpp>
#include <qrprev.hpp>
#include "QRNewPage.h"

void __fastcall TfEmiSed::RecibosAddReports(TObject *Sender)
{
     
Recibos->Reports->Clear();
     
Recibos->Reports->Add(fIndSed->qIndSed);
     
Recibos->Reports->Add(QR_NEW_PAGE);
     
Recibos->Reports->Add(fRecSed->qRecSed);
}
//---------------------------------------------------------------------------

void __fastcall TfEmiSed::RecibosFinished(TObject *Sender)
{
     for (
int nItem 0nItem Screen->FormCountnItem ++)
          if (
Screen->Forms[nItem]->ClassNameIs("TQRStandardPreview"))
               
static_cast<TQRStandardPreview *>(Screen->Forms[nItem])->FormStyle wsMaximized;
}
//--------------------------------------------------------------------------- 

No he podido compilar tu código porque me dice que falta dos librerías: websnap.bpi e indy.bpi, que yo no tengo en mi máquina. El include "QRNewPage.h" es para provocar un salto de página entre ambos informes; he probado eliminándolo pero tampoco funciona

ecfisa 07-10-2015 19:08:31

1 Archivos Adjunto(s)
Hola.

Igual me lo maximiza pero veo que, en alguno de los ajustes de último momento, cometí un error :o

Donde dice:
Código PHP:

  static_cast<TQRStandardPreview*>(Screen->Forms[i])->FormStyle wsMaximized

debería decir:
Código PHP:

 static_cast<TQRStandardPreview*>(Screen->Forms[i])->WindowState wsMaximized

fijate si puede ser eso.

Ya que no podes compilar el ejemplo, también te adjunto el ejecutable (comprimido).

Angel.Matilla 08-10-2015 10:53:27

Cita:

Empezado por ecfisa (Mensaje 497670)
Código PHP:

 static_cast<TQRStandardPreview*>(Screen->Forms[i])->WindowState wsMaximized


¡Perfecto ecfisa! Era eso. Muchas gracias y perdón por no haber sabido buscar en la ayida.


La franja horaria es GMT +2. Ahora son las 22:08:46.

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