FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Vistas preliminares a la medida
Ya he perdido la cuenta de las veces que me han preguntado cómo se programa una ventana de vista preliminar para QuickReport. No voy a mostrar las últimas técnicas disponibles, que pasan por definir una clase de ventana de vista preliminar por omisión (falta de documentación, como siempre), pero la técnica que mostraré vale para todas las versiones de QuickReport.
Primero desarrollaremos la ventana de vista preliminar. Creamos un nuevo formulario, al cual llamaremos wndPrev. En su interior dejamos caer un ToolBar y un componente QRPreview, de la página QReport de la Paleta de Componentes. A este último control le cambiamos su propiedad Align a alClient. Ahora interceptamos el método OnClose del formulario, para garantizar la devolución de recursos:
En la barra de herramientas añadimos cuatro botones para navegar por las páginas. Estos son los métodos que ejecutarán:
Traemos dos botones más, para el factor de escala de la muestra:
Existen también métodos para los valores especiales de acercamiento: ZoomToFit y ZoomToWidth. Para terminar con la ventana, traemos un botón de impresión:
En el informe para el cual queremos esta vista preliminar debemos interceptar el evento OnPreview:
Para tener acceso al tipo TQRPrinter necesitamos añadir la unidad QRPrntr a la cláusula uses de la unidad del informe. Estoy mostrando la vista preliminar en forma modal, pero también podía haber utilizado una ventana no modal o incluso MDI. Finalmente, hay que tener cuidado con la forma en que se ejecuta el informe:
En La Cara Oculta de Delphi 4, el ejemplo de vista preliminar del CD-ROM llamaba directamente al método Preview. Pero a partir de la versión 3.0.3 de QuickReport, que apareció mucho después de salir Delphi 4 al mercado, este método dejó de funcionar con formularios de previsualización a la medida |
#2
|
||||
|
||||
Hola.. estube realizando esto y me parece muy interesante... pero quede atrapado en este código...
Donde se declara esto...??? Código:
procedure TwndMain.Button1Click(Sender: TObject); begin rptCustomer.QuickRep1.PreviewModal; end; |
|
|
|