📄 teeprevi.pas
字号:
{********************************************}
{ PrintPreview Form }
{ Copyright (c) 1996-2004 by David Berneda }
{********************************************}
unit TeePrevi;
{$I TeeDefs.inc}
interface
uses {$IFNDEF LINUX}
Windows, Messages,
{$ENDIF}
SysUtils, Classes,
{$IFDEF CLX}
QGraphics, QControls, QForms, QDialogs, QExtCtrls, QStdCtrls, QComCtrls,
QPrinters, TeePenDlg,
{$ELSE}
Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls, ComCtrls, Printers,
{$ENDIF}
{$IFDEF D6}
Types,
{$ENDIF}
TeeProcs, TeCanvas, TeePreviewPanel, TeeNavigator, TeEngine, Chart;
type
TChartPreview = class(TForm)
Panel1: TPanel;
CBPrinters: TComboFlat;
Label1: TLabel;
BSetupPrinter: TButton;
Panel2: TPanel;
Orientation: TRadioGroup;
GBMargins: TGroupBox;
SETopMa: TEdit;
SELeftMa: TEdit;
SEBotMa: TEdit;
SERightMa: TEdit;
ChangeDetailGroup: TGroupBox;
Label2: TLabel;
Label3: TLabel;
BClose: TButton;
BPrint: TButton;
UDLeftMa: TUpDown;
UDTopMa: TUpDown;
UDRightMa: TUpDown;
UDBotMa: TUpDown;
TeePreviewPanel1: TTeePreviewPanel;
Resolution: TTrackBar;
PanelMargins: TPanel;
BReset: TButton;
ShowMargins: TCheckBox;
Panel4: TPanel;
CBProp: TCheckBox;
CheckBox1: TCheckBox;
procedure FormShow(Sender: TObject);
procedure BSetupPrinterClick(Sender: TObject);
procedure CBPrintersChange(Sender: TObject);
procedure OrientationClick(Sender: TObject);
procedure SETopMaChange(Sender: TObject);
procedure SERightMaChange(Sender: TObject);
procedure SEBotMaChange(Sender: TObject);
procedure SELeftMaChange(Sender: TObject);
procedure ShowMarginsClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure BResetClick(Sender: TObject);
procedure BPrintClick(Sender: TObject);
procedure BCloseClick(Sender: TObject);
procedure CBPropClick(Sender: TObject);
procedure TeePreviewPanel1ChangeMargins(Sender: TObject;
DisableProportional: Boolean; const NewMargins: TRect);
procedure TrackBar1Change(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure CheckBox1Click(Sender: TObject);
private
{ Private declarations }
ChangingMargins : Boolean;
ChangingProp : Boolean;
OldMargins : TRect;
PageNavigator1 : TCustomTeeNavigator;
procedure Navigator1ButtonClicked(Index: TTeeNavigateBtn);
Procedure ResetMargins;
Procedure CheckOrientation;
procedure ChangeMargin(UpDown:TUpDown; Var APos:Integer; OtherSide:Integer);
public
PageNavigatorClass : TTeePageNavigatorClass;
PrinterSetupDialog1 : TPrinterSetupDialog;
{$IFDEF CLR}
Constructor Create(AOwner:TComponent); override;
{$ENDIF}
Function PreviewPanel : TTeePreviewPanel;
end;
Var TeeChangePaperOrientation:Boolean=True;
Procedure TeePreview(AOwner:TComponent; APanel:TCustomTeePanel);
implementation
{$IFNDEF CLX}
{$R *.DFM}
{$ELSE}
{$R *.xfm}
{$ENDIF}
Procedure TeePreview(AOwner:TComponent; APanel:TCustomTeePanel);
begin
with TChartPreview.Create(AOwner) do
try
TeePreviewPanel1.Panel:=APanel;
ShowModal;
finally
Free;
APanel.Repaint;
end;
end;
{ TChartPreview }
{$IFDEF CLR}
Constructor TChartPreview.Create(AOwner:TComponent);
begin
inherited;
TeePreviewPanel1:=TTeePreviewPanel.Create(Self);
Left:= 256;
Top:= 190;
{$IFNDEF CLR} // Vcl.Forms bug
ActiveControl := TeePreviewPanel1;
{$ENDIF}
AutoScroll:= False;
Caption := 'TeeChart Print Preview';
ClientHeight := 379;
ClientWidth := 543;
Color := clBtnFace;
ParentFont := True;
KeyPreview := True;
Position := poScreenCenter;
OnCreate := FormCreate;
OnDestroy := FormDestroy;
OnShow := FormShow;
PixelsPerInch := 96;
with TeePreviewPanel1 do
begin
Parent:=Self;
Left:= 112;
Top := 38;
Width := 431;
Height := 341;
HelpContext := 1197;
Shadow.Color := clGray;
Shadow.HorizSize := 4;
Shadow.VertSize := 4;
OnChangeMargins := TeePreviewPanel1ChangeMargins;
Gradient.Direction := gdFromTopLeft;
Gradient.EndColor := clGray;
Gradient.Visible := True;
Align := alClient;
TabOrder := 2;
end;
(*
object Panel1: TPanel
Left = 0
Top = 0
Width = 543
Height = 38
Align = alTop
TabOrder = 0
object Label1: TLabel
Left = 37
Top = 12
Width = 33
Height = 13
Alignment = taRightJustify
Caption = 'P&rinter:'
FocusControl = CBPrinters
Layout = tlCenter
end
object CBPrinters: TComboFlat
Left = 72
Top = 9
Width = 156
TabOrder = 0
OnChange = CBPrintersChange
end
object BSetupPrinter: TButton
Left = 234
Top = 7
Width = 75
Height = 25
Caption = '&Setup...'
TabOrder = 1
OnClick = BSetupPrinterClick
end
object BClose: TButton
Left = 443
Top = 7
Width = 75
Height = 25
Cancel = True
Caption = 'Close'
Default = True
ModalResult = 1
TabOrder = 2
OnClick = BCloseClick
end
object BPrint: TButton
Left = 318
Top = 7
Width = 75
Height = 25
HelpContext = 395
Caption = '&Print'
TabOrder = 3
OnClick = BPrintClick
end
end
object Panel2: TPanel
Left = 0
Top = 38
Width = 112
Height = 341
Align = alLeft
TabOrder = 1
object Orientation: TRadioGroup
Left = 1
Top = 1
Width = 110
Height = 66
HelpContext = 398
Align = alTop
Caption = 'Orien&tation:'
Items.Strings = (
'P&ortrait'
'&Landscape')
TabOrder = 0
OnClick = OrientationClick
end
object GBMargins: TGroupBox
Left = 1
Top = 67
Width = 110
Height = 95
Align = alTop
Caption = 'Margins (%)'
TabOrder = 1
object SETopMa: TEdit
Left = 34
Top = 17
Width = 27
Height = 21
HelpContext = 397
MaxLength = 32767
TabOrder = 0
Text = '0'
OnChange = SETopMaChange
end
object SELeftMa: TEdit
Left = 6
Top = 43
Width = 26
Height = 21
HelpContext = 397
MaxLength = 32767
TabOrder = 1
Text = '0'
OnChange = SELeftMaChange
end
object SEBotMa: TEdit
Left = 34
Top = 68
Width = 27
Height = 21
HelpContext = 397
MaxLength = 32767
TabOrder = 2
Text = '0'
OnChange = SEBotMaChange
end
object SERightMa: TEdit
Left = 58
Top = 43
Width = 27
Height = 21
HelpContext = 397
MaxLength = 32767
TabOrder = 3
Text = '0'
OnChange = SERightMaChange
end
object UDLeftMa: TUpDown
Left = 32
Top = 43
Width = 15
Height = 21
HelpContext = 397
Associate = SELeftMa
Increment = 5
TabOrder = 4
end
object UDTopMa: TUpDown
Left = 61
Top = 17
Width = 15
Height = 21
HelpContext = 397
Associate = SETopMa
Increment = 5
TabOrder = 5
end
object UDRightMa: TUpDown
Left = 85
Top = 43
Width = 15
Height = 21
HelpContext = 397
Associate = SERightMa
Increment = 5
TabOrder = 6
end
object UDBotMa: TUpDown
Left = 61
Top = 68
Width = 15
Height = 21
HelpContext = 397
Associate = SEBotMa
Increment = 5
TabOrder = 7
end
end
object ChangeDetailGroup: TGroupBox
Left = 1
Top = 220
Width = 110
Height = 66
Align = alTop
Caption = 'Detail:'
TabOrder = 2
object Label2: TLabel
Left = 6
Top = 16
Width = 24
Height = 13
Caption = 'More'
Layout = tlCenter
end
object Label3: TLabel
Left = 69
Top = 16
Width = 33
Height = 13
Alignment = taRightJustify
Caption = 'Normal'
Layout = tlCenter
end
object Resolution: TTrackBar
Left = 6
Top = 32
Width = 98
Height = 25
HelpContext = 400
LineSize = 2
Max = 100
Frequency = 10
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -