⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 teeprevi.pas

📁 TeeChart7Source 控件
💻 PAS
📖 第 1 页 / 共 2 页
字号:
{********************************************}
{   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 + -