📄 rm_printer.hpp
字号:
// CodeGear C++Builder
// Copyright (c) 1995, 2007 by CodeGear
// All rights reserved
// (DO NOT EDIT: machine generated header) 'Rm_printer.pas' rev: 11.00
#ifndef Rm_printerHPP
#define Rm_printerHPP
#pragma delphiheader begin
#pragma option push
#pragma option -w- // All warnings off
#pragma option -Vx // Zero-length empty class member functions
#pragma pack(push,8)
#include <System.hpp> // Pascal unit
#include <Sysinit.hpp> // Pascal unit
#include <Windows.hpp> // Pascal unit
#include <Messages.hpp> // Pascal unit
#include <Sysutils.hpp> // Pascal unit
#include <Classes.hpp> // Pascal unit
#include <Graphics.hpp> // Pascal unit
#include <Controls.hpp> // Pascal unit
#include <Forms.hpp> // Pascal unit
#include <Dialogs.hpp> // Pascal unit
#include <Stdctrls.hpp> // Pascal unit
#include <Winspool.hpp> // Pascal unit
#include <Syncobjs.hpp> // Pascal unit
#include <Rm_common.hpp> // Pascal unit
#include <Rm_const.hpp> // Pascal unit
#include <Rm_const1.hpp> // Pascal unit
//-- user supplied -----------------------------------------------------------
namespace Rm_printer
{
//-- type declarations -------------------------------------------------------
#pragma option push -b-
enum TRMDuplex { rmdpNone, rmdpHorizontal, rmdpVertical };
#pragma option pop
#pragma option push -b-
enum TRMPrinterCapType { pcPaperNames, pcPapers, pcPaperWidths, pcPaperHeights, pcBinNames, pcBins };
#pragma option pop
class DELPHICLASS TRMPrinterInfo;
class PASCALIMPLEMENTATION TRMPrinterInfo : public System::TObject
{
typedef System::TObject inherited;
private:
char *FDriver;
char *FDevice;
char *FPort;
bool FIsValid;
bool FAlreadlyGetInfo;
unsigned FDeviceHandle;
int FAddinPaperSizeIndex;
Syncobjs::TCriticalSection* FLock;
Classes::TStringList* FPaperNames;
Classes::TStringList* FBinNames;
Classes::TStringList* FBins;
Classes::TStringList* FPaperWidths;
Classes::TStringList* FPaperHeights;
Classes::TStringList* FPaperSizes;
int __fastcall GetPaperWidth(int index);
int __fastcall GetPaperHeight(int index);
void __fastcall SetPaperWidth(int index, int Value);
void __fastcall SetPaperHeight(int index, int Value);
int __fastcall GetPaperSize(int index);
int __fastcall GetBin(int index);
void __fastcall GetDeviceCapability(TRMPrinterCapType aPrinterCap, Classes::TStrings* sl);
void __fastcall ValidatePaperSizes(void);
void __fastcall ValidatePaperBins(void);
void __fastcall GetPrinterCaps(bool aVirtualPrinter);
public:
__fastcall TRMPrinterInfo(char * aDriver, char * aDevice, char * aPort);
__fastcall virtual ~TRMPrinterInfo(void);
int __fastcall PaperSizesCount(void);
int __fastcall GetPaperSizeIndex(int pgSize);
int __fastcall GetBinIndex(int pgBin);
__property char * Device = {read=FDevice};
__property char * Driver = {read=FDriver};
__property char * Port = {read=FPort};
__property bool IsValid = {read=FIsValid, write=FIsValid, nodefault};
__property int AddinPaperSizeIndex = {read=FAddinPaperSizeIndex, nodefault};
__property Classes::TStringList* PaperNames = {read=FPaperNames};
__property Classes::TStringList* BinNames = {read=FBinNames};
__property int PaperWidths[int index] = {read=GetPaperWidth, write=SetPaperWidth};
__property int PaperHeights[int index] = {read=GetPaperHeight, write=SetPaperHeight};
__property int PaperSizes[int index] = {read=GetPaperSize};
__property int Bins[int index] = {read=GetBin};
};
class DELPHICLASS TRMPrinterList;
class PASCALIMPLEMENTATION TRMPrinterList : public System::TObject
{
typedef System::TObject inherited;
private:
int FDefaultPrinterIndex;
Classes::TStrings* FPrinters;
Syncobjs::TCriticalSection* FLock;
void __fastcall BuildPrinterList(void);
void __fastcall FreePrinterList(void);
int __fastcall GetCount(void);
TRMPrinterInfo* __fastcall GetPrinterInfo(int Index);
void __fastcall GetDefaultPrinter(void);
public:
__fastcall TRMPrinterList(void);
__fastcall virtual ~TRMPrinterList(void);
void __fastcall Refresh(void);
__property int Count = {read=GetCount, nodefault};
__property Classes::TStrings* Printers = {read=FPrinters};
__property TRMPrinterInfo* PrinterInfo[int index] = {read=GetPrinterInfo};
};
class DELPHICLASS TRMCustomPrinter;
class PASCALIMPLEMENTATION TRMCustomPrinter : public System::TObject
{
typedef System::TObject inherited;
private:
bool FAborted;
bool FCanGrayScale;
Graphics::TCanvas* FCanvas;
HDC FDC;
TRMPrinterInfo* FCurrentInfo;
int FDefaultBin;
AnsiString FDocumentName;
AnsiString FFileName;
int FPageNumber;
bool FPrinting;
unsigned FPrinterHandle;
int FPrinterIndex;
bool FResetDC;
bool FStartPage;
unsigned FDevMode;
Classes::TNotifyEvent FOnSetupChange;
_devicemodeA *FPDevMode;
#pragma pack(push,1)
Types::TRect FPageGutters;
#pragma pack(pop)
#pragma pack(push,1)
Types::TPoint FPixelsPerInch;
#pragma pack(pop)
int FPaperWidth;
int FPaperHeight;
int FPrintableHeight;
int FPrintableWidth;
int FDefaultPaperWidth;
int FDefaultPaperHeight;
Rm_common::TRMPrinterOrientation FDefaultPaperOr;
double FFactorX;
double FFactorY;
int FTruePaperWidth;
int FTruePaperHeight;
bool FColorPrint;
TRMDuplex FDuplex;
Syncobjs::TCriticalSection* FLock;
AnsiString __fastcall GetPrinterName();
void __fastcall FreeDC(void);
void __fastcall FreeDevMode(void);
void __fastcall FreePrinterHandle(void);
void __fastcall FreePrinterResources(void);
bool __fastcall GetCanGrayScale(void);
Graphics::TCanvas* __fastcall GetCanvas(void);
HDC __fastcall GetDC(void);
unsigned __fastcall GetDocumentProperties(void);
unsigned __fastcall GetPrinterHandle(void);
TRMPrinterInfo* __fastcall GetPrinterInfo(void);
Windows::PDeviceModeA __fastcall GetPDevMode(void);
Types::TRect __fastcall GetPageGutters();
int __fastcall GetPaperWidth(void);
int __fastcall GetPaperHeight(void);
Types::TPoint __fastcall GetPixelsPerInch();
int __fastcall GetPrintableHeight(void);
int __fastcall GetPrintableWidth(void);
void __fastcall ResetDC(void);
void __fastcall SetPrinterIndex(int Value);
protected:
void __fastcall DeviceContextChanged(void);
__property Windows::PDeviceModeA PDevMode = {read=GetPDevMode};
__property TRMPrinterInfo* CurrentInfo = {read=FCurrentInfo};
__property int DefaultBin = {read=FDefaultBin, nodefault};
public:
int PaperSize;
Rm_common::TRMPrinterOrientation Orientation;
int Bin;
int DefaultPaper;
__fastcall virtual TRMCustomPrinter(void);
__fastcall virtual ~TRMCustomPrinter(void);
void __fastcall BeginDoc(void);
void __fastcall Abort(void);
void __fastcall EndDoc(void);
void __fastcall EndPage(void);
void __fastcall NewPage(void);
void __fastcall GetDevMode(unsigned &aDevMode);
void __fastcall SetDevMode(unsigned aDevMode);
bool __fastcall HasColor(void);
void __fastcall UpdateForm(const AnsiString aFormName, const Types::TPoint &aDimensions, const Types::TRect &aPrintArea);
__property unsigned PrinterHandle = {read=GetPrinterHandle, nodefault};
__property bool Aborted = {read=FAborted, nodefault};
__property Graphics::TCanvas* Canvas = {read=GetCanvas};
__property HDC DC = {read=GetDC, nodefault};
__property AnsiString Title = {read=FDocumentName, write=FDocumentName};
__property AnsiString FileName = {read=FFileName, write=FFileName};
__property int PageNumber = {read=FPageNumber, nodefault};
__property bool Printing = {read=FPrinting, nodefault};
__property int PrinterIndex = {read=FPrinterIndex, write=SetPrinterIndex, nodefault};
__property AnsiString PrinterName = {read=GetPrinterName};
__property TRMPrinterInfo* PrinterInfo = {read=GetPrinterInfo};
__property double FactorX = {read=FFactorX};
__property double FactorY = {read=FFactorY};
__property bool CanGrayScale = {read=GetCanGrayScale, nodefault};
__property Types::TRect PageGutters = {read=GetPageGutters};
__property Types::TPoint PixelsPerInch = {read=GetPixelsPerInch};
__property int PrintableHeight = {read=GetPrintableHeight, nodefault};
__property int PrintableWidth = {read=GetPrintableWidth, nodefault};
__property int PaperWidth = {read=GetPaperWidth, nodefault};
__property int PaperHeight = {read=GetPaperHeight, nodefault};
__property int DefaultPaperWidth = {read=FDefaultPaperWidth, nodefault};
__property int DefaultPaperHeight = {read=FDefaultPaperHeight, nodefault};
__property Rm_common::TRMPrinterOrientation DefaultPaperOr = {read=FDefaultPaperOr, nodefault};
__property bool ColorPrint = {read=FColorPrint, write=FColorPrint, nodefault};
__property TRMDuplex Duplex = {read=FDuplex, write=FDuplex, nodefault};
__property Classes::TNotifyEvent OnChange = {read=FOnSetupChange, write=FOnSetupChange};
};
class DELPHICLASS TRMPrinter;
class PASCALIMPLEMENTATION TRMPrinter : public TRMCustomPrinter
{
typedef TRMCustomPrinter inherited;
private:
int FCopies;
void __fastcall SetSettings(int aPgWidth, int aPgHeight);
protected:
void __fastcall GetSettings(void);
public:
__fastcall virtual TRMPrinter(void);
__fastcall virtual ~TRMPrinter(void);
void __fastcall FillPrinterInfo(Rm_common::TRMPageInfo &p);
void __fastcall SetPrinterInfo(int aPageSize, int aPageWidth, int aPageHeight, int aPageBin, Rm_common::TRMPrinterOrientation aPageOrientation, bool aSetImmediately);
bool __fastcall IsEqual(int apgSize, int apgWidth, int apgHeight, int apgBin, Rm_common::TRMPrinterOrientation apgOr, TRMDuplex aDuplex);
bool __fastcall PropertiesDlg(void);
void __fastcall Update(void);
__property int Copies = {read=FCopies, write=FCopies, default=1};
};
class DELPHICLASS TRMPageSetting;
class PASCALIMPLEMENTATION TRMPageSetting : public Classes::TPersistent
{
typedef Classes::TPersistent inherited;
private:
AnsiString FTitle;
AnsiString FPageName;
Word FPageSize;
int FPageWidth;
int FPageHeight;
Rm_common::TRMPrinterOrientation FPageOr;
int FPageBin;
bool FPrintBackGroundPicture;
double FMarginLeft;
double FMarginTop;
double FMarginRight;
double FMarginBottom;
bool FPrintToPrevPage;
bool FScaleFrameWidth;
bool FUnlimitedHeight;
bool FDoublePass;
int FColCount;
double FColGap;
AnsiString FPrinterName;
bool FColorPrint;
bool FNewPageAfterPrint;
bool FConvertNulls;
void __fastcall SetColCount(int Value);
void __fastcall SetValue(int Index, double Value);
void __fastcall SetPageOr(Rm_common::TRMPrinterOrientation Value);
public:
__property AnsiString PageName = {read=FPageName, write=FPageName};
__property Word PageSize = {read=FPageSize, write=FPageSize, nodefault};
__property int PageWidth = {read=FPageWidth, write=FPageWidth, nodefault};
__property int PageHeight = {read=FPageHeight, write=FPageHeight, nodefault};
__property Rm_common::TRMPrinterOrientation PageOr = {read=FPageOr, write=SetPageOr, nodefault};
__property int PageBin = {read=FPageBin, write=FPageBin, nodefault};
__property bool PrintToPrevPage = {read=FPrintToPrevPage, write=FPrintToPrevPage, nodefault};
__property bool DoublePass = {read=FDoublePass, write=FDoublePass, nodefault};
__property bool PrintBackGroundPicture = {read=FPrintBackGroundPicture, write=FPrintBackGroundPicture, nodefault};
__property bool ScaleFrameWidth = {read=FScaleFrameWidth, write=FScaleFrameWidth, nodefault};
__property bool UnlimitedHeight = {read=FUnlimitedHeight, write=FUnlimitedHeight, nodefault};
__property int ColCount = {read=FColCount, write=SetColCount, nodefault};
__property double ColGap = {read=FColGap, write=SetValue, index=4};
__property double MarginLeft = {read=FMarginLeft, write=SetValue, index=0};
__property double MarginTop = {read=FMarginTop, write=SetValue, index=1};
__property double MarginRight = {read=FMarginRight, write=SetValue, index=2};
__property double MarginBottom = {read=FMarginBottom, write=SetValue, index=3};
__property AnsiString PrinterName = {read=FPrinterName, write=FPrinterName};
__property bool ColorPrint = {read=FColorPrint, write=FColorPrint, nodefault};
__property bool NewPageAfterPrint = {read=FNewPageAfterPrint, write=FNewPageAfterPrint, nodefault};
__property AnsiString Title = {read=FTitle, write=FTitle};
__property bool ConvertNulls = {read=FConvertNulls, write=FConvertNulls, nodefault};
public:
#pragma option push -w-inl
/* TPersistent.Destroy */ inline __fastcall virtual ~TRMPageSetting(void) { }
#pragma option pop
public:
#pragma option push -w-inl
/* TObject.Create */ inline __fastcall TRMPageSetting(void) : Classes::TPersistent() { }
#pragma option pop
};
//-- var, const, procedure ---------------------------------------------------
static const Shortint rmpgLetter = 0x1;
static const Shortint rmpgLetterSmall = 0x2;
static const Shortint rmpgTabloid = 0x3;
static const Shortint rmpgLedger = 0x4;
static const Shortint Legal = 0x5;
static const Shortint rmpgStatement = 0x6;
static const Shortint rmpgExecutive = 0x7;
static const Shortint rmpgA3 = 0x8;
static const Shortint rmpgA4 = 0x9;
static const Shortint rmpgA4Small = 0xa;
static const Shortint rmpgA5 = 0xb;
static const Shortint rmpgB4 = 0xc;
static const Shortint rmpgB5 = 0xd;
static const Shortint rmpgFolio = 0xe;
static const Shortint rmpgQuarto = 0xf;
static const Shortint qr10X14 = 0x10;
static const Shortint rmpgqr11X17 = 0x11;
static const Shortint rmpgNote = 0x12;
static const Shortint rmpgEnv9 = 0x13;
static const Shortint rmpgEnv10 = 0x14;
static const Shortint rmpgEnv11 = 0x15;
static const Shortint rmpgEnv12 = 0x16;
static const Shortint rmpgEnv14 = 0x17;
static const Shortint rmpgCSheet = 0x18;
static const Shortint rmpgDSheet = 0x19;
static const Shortint rmpgESheet = 0x1a;
static const Word rmpg16K = 0x320;
static const Word rmpg32K = 0x321;
static const Word rmpg32KBIG = 0x322;
static const Word rmpgKh = 0x323;
static const Word rmpgZh = 0x324;
static const Word rmpgCustom = 0x100;
extern PACKAGE void __fastcall RMAddPaperInfo_1(AnsiString aPaperName, int aPaperWidth, int aPaperHeight);
extern PACKAGE TRMPrinterList* __fastcall RMPrinters(void);
extern PACKAGE TRMPrinter* __fastcall RMPrinter(void);
} /* namespace Rm_printer */
using namespace Rm_printer;
#pragma pack(pop)
#pragma option pop
#pragma delphiheader end.
//-- end unit ----------------------------------------------------------------
#endif // Rm_printer
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -