This repository has been archived on 2024-12-02. You can view files and clone it, but cannot push or open issues or pull requests.
FactuGES/VistaPrevia.pas
2007-06-26 08:08:27 +00:00

143 lines
4.2 KiB
ObjectPascal

{
===============================================================================
Copyright (©) 2002. Rodax Software.
===============================================================================
Los contenidos de este fichero son propiedad de Rodax Software titular del
copyright. Este fichero sólo podrá ser copiado, distribuido y utilizado,
en su totalidad o en parte, con el permiso escrito de Rodax Software, o de
acuerdo con los términos y condiciones establecidas en el acuerdo/contrato
bajo el que se suministra.
-----------------------------------------------------------------------------
Web: www.rodax-software.com
===============================================================================
Fecha primera versión: 31-12-2002
Versión actual: 1.0.0
Fecha versión actual: 31-12-2002
===============================================================================
Modificaciones:
Fecha Comentarios
---------------------------------------------------------------------------
===============================================================================
}
unit VistaPrevia;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
RDXFRAME, StdCtrls, RdxComboBox, RdxBotones, RdxCampos, Configuracion,
ExtCtrls, RdxBarras, RdxTitulos, Grids, DBGrids, RdxPaneles, RdxRadioButton,
cxControls, cxContainer, cxEdit, cxTextEdit, cxMaskEdit, cxDropDownEdit,
FR_View, cxImageComboBox, cxGraphics;
type
TfrVistaPrevia = class(TRdxFrame)
RdxPanel1: TRdxPanel;
pnlBarraGrid: TRdxPanel;
bUnaPagina: TRdxBoton;
bDosPaginas: TRdxBoton;
eCodigo: TLabel;
bAnchoPagina: TRdxBoton;
cbxZoom: TcxImageComboBox;
brSimple: TRdxBarraInferior;
bImprimir: TRdxBoton;
bCancelar: TRdxBoton;
procedure bUnaPaginaClick(Sender: TObject);
procedure bDosPaginasClick(Sender: TObject);
procedure bAnchoPaginaClick(Sender: TObject);
procedure cxImageComboBox1PropertiesEditValueChanged(Sender: TObject);
procedure bCancelarClick(Sender: TObject);
procedure bImprimirClick(Sender: TObject);
private
FPreview : TfrPreview;
FOnAfterPrint: TNotifyEvent;
FOnBeforePrint: TNotifyEvent;
protected
function CloseFrame : Boolean; override;
public
constructor Create (AOwner : TComponent); override;
published
property Preview : TfrPreview read FPreview;
property OnBeforePrint: TNotifyEvent read FOnBeforePrint write FOnBeforePrint;
property OnAfterPrint: TNotifyEvent read FOnAfterPrint write FOnAfterPrint;
end;
var
frVistaPrevia: TfrVistaPrevia;
implementation
{$R *.DFM}
uses
Mensajes;
procedure TfrVistaPrevia.bUnaPaginaClick(Sender: TObject);
begin
FPreview.OnePage;
cbxZoom.EditValue := FPreview.Zoom;
end;
procedure TfrVistaPrevia.bDosPaginasClick(Sender: TObject);
begin
FPreview.TwoPages;
cbxZoom.EditValue := FPreview.Zoom;
end;
procedure TfrVistaPrevia.bAnchoPaginaClick(Sender: TObject);
begin
FPreview.PageWidth;
cbxZoom.EditValue := FPreview.Zoom;
end;
procedure TfrVistaPrevia.cxImageComboBox1PropertiesEditValueChanged(
Sender: TObject);
begin
FPreview.Zoom := cbxZoom.EditValue;
end;
function TfrVistaPrevia.CloseFrame: Boolean;
begin
TForm(GetParentForm(Self)).OnMouseWheelUp := NIL;
TForm(GetParentForm(Self)).OnMouseWheelDown := NIL;
if FPreview.Window.EMFPages <> NIL then
FPreview.Disconnect;
FPreview.Parent := NIL;
FPreview.Free;
Result := inherited CloseFrame;
end;
constructor TfrVistaPrevia.Create(AOwner: TComponent);
begin
inherited;
FOnAfterPrint := nil;
FOnBeforePrint := nil;
FPreview := TfrPreview.Create(Self);
FPreview.Parent := RdxPanel1;
FPreview.Align := alClient;
FPreview.Zoom := 100;
end;
procedure TfrVistaPrevia.bCancelarClick(Sender: TObject);
begin
if not IsModal then
(Owner as TRdxFrame).CloseFrame
else
CloseFrame;
end;
procedure TfrVistaPrevia.bImprimirClick(Sender: TObject);
begin
if Assigned(FOnBeforePrint) then
FOnBeforePrint(Sender);
FPreview.Print;
if Assigned(FOnAfterPrint) then
FOnAfterPrint(Sender);
end;
end.