Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Impresión (https://www.clubdelphi.com/foros/forumdisplay.php?f=4)
-   -   Minimizar preview de quickreport (https://www.clubdelphi.com/foros/showthread.php?t=93086)

Espartaco 14-05-2018 20:55:56

Minimizar preview de quickreport
 
Hola amigos, tengo un pequeño problema.

Utilizo Delphi 5 y QuickReport 3.0. Todo funciona perfectamente, el problema es que cuando esta presentando en pantalla el preview, si el usuario lo minimiza no se donde se queda y aunque el programa no se queda colgado, el problema es que no puedo restaurar el preview y tengo que cerrarlo con el administrador de tareas.

He intentado quitar los botones de border icons como en el resto de forms de la aplicacion, pero no me aparecen el las propiedades del informe. He intentado quitarlas del archivo qrprev.dfm pero tampoco aparecen.

Como podria deseactivar estos botones. Es que el usuario de vez en cuando lo minimiza y hay que resetear la aplicacion y creo que es poco profesional.

Os agradeceria vuestra ayuda, ya que me tiene bastante mareado.

Gracias.

Casimiro Notevi 14-05-2018 21:47:14

¿Utilizas PreviewModal?

Espartaco 14-05-2018 22:59:41

Gracias por tu respuesta Casimiro.

No lo usaba, pero lo he probado y me ha solucionado el problema.

Muchas Gracias.

Casimiro Notevi 14-05-2018 23:16:20

^\||/^\||/^\||/

manelb 15-05-2018 08:45:18

La solución perfecta es la que te ha comentado Casimiro….

De todas formas, en algunos casos determinados, nosotros tuvimos algunos problemas aleatorios que se solucionaron volviendo a poner la vista previa con Preview.
Los problemas ocurrían, sobre todo, en el momento de imprimir o exportar a pdf documentos que contenían algún logo o imagen de fondo.
La imagen simplemente no se imprimía.

Para resolver el problema que tu comentas creamos una función tal que:

Código Delphi [-]
procedure RestaurarListado(Sender : TObject);
var
  F: TForm;
begin
  F := TForm(Application.FindComponent('qrStandardPreview'));
  if Assigned(F) then
     if F.WindowState = wsMinimized then
        F.WindowState := wsMaximized
     else
        F.BringToFront;
end;

y la llamamos en el onactivate de la pantalla que llama al listado.
De esta forma, si minimizas el listado, se produce un efecto rebote y se vuelve a situar en primer plano.

Chapuzilla ?? :) Por supuesto, pero nos solucionó el problema !!

Saludos a todos.


La franja horaria es GMT +2. Ahora son las 17:38:31.

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