// Borland C++ Builder
// Copyright (c) 1995, 2002 by Borland Software Corporation
// All rights reserved

// (DO NOT EDIT: machine generated header) 'ahmtpsdialog.pas' rev: 6.00

#ifndef ahmtpsdialogHPP
#define ahmtpsdialogHPP

#pragma delphiheader begin
#pragma option push -w-
#pragma option push -Vx
#include <ahmdialogclass.hpp>	// Pascal unit
#include <CommDlg.hpp>	// Pascal unit
#include <Dialogs.hpp>	// Pascal unit
#include <Forms.hpp>	// Pascal unit
#include <Controls.hpp>	// Pascal unit
#include <Graphics.hpp>	// Pascal unit
#include <Classes.hpp>	// Pascal unit
#include <SysUtils.hpp>	// Pascal unit
#include <Messages.hpp>	// Pascal unit
#include <Windows.hpp>	// Pascal unit
#include <SysInit.hpp>	// Pascal unit
#include <System.hpp>	// Pascal unit

//-- user supplied -----------------------------------------------------------

namespace Ahmtpsdialog
{
//-- type declarations -------------------------------------------------------
#pragma option push -b-
enum TAHMPageSetupOption { poDefaultMinMargins, poDisableMargins, poDisableOrientation, poDisablePagePainting, poDisablePaper, poDisablePrinter, poNoWarning, poShowHelp };
#pragma option pop

typedef Set<TAHMPageSetupOption, poDefaultMinMargins, poShowHelp>  TAHMPageSetupOptions;

#pragma option push -b-
enum TAHMPaperType { ptPaper, ptEnvelope };
#pragma option pop

#pragma option push -b-
enum TAHMPaperOrientation { poPortrait, poLandscape };
#pragma option pop

#pragma option push -b-
enum TAHMPrinterType { ptDotMatrix, ptHPPCL };
#pragma option pop

#pragma option push -b-
enum TAHMPaintWhat { pwFullPage, pwMinimumMargins, pwMargins, pwGreekText, pwEnvStamp, pwYAFullPage };
#pragma option pop

#pragma option push -b-
enum TAHMMeasurements { pmMillimeters, pmInches };
#pragma option pop

typedef void __fastcall (__closure *TAHMPrinterEvent)(System::TObject* Sender, HWND Wnd);

typedef tagPSDA *PAHMDlgData;

typedef tagPSDA  TAHMDlgData;

typedef bool __fastcall (__closure *TAHMInitPaintPageEvent)(System::TObject* Sender, short PaperSize, TAHMPaperType PaperType, TAHMPaperOrientation PaperOrientation, TAHMPrinterType PrinterType, PAHMDlgData pSetupData);

typedef bool __fastcall (__closure *TAHMPaintPageEvent)(System::TObject* Sender, TAHMPaintWhat PaintWhat, Graphics::TCanvas* Canvas, const Types::TRect &Rect);

class DELPHICLASS TAHMMargins;
class PASCALIMPLEMENTATION TAHMMargins : public Graphics::TGraphicsObject 
{
	typedef Graphics::TGraphicsObject inherited;
	
private:
	double FBottom;
	double FLeft;
	double FTop;
	double FRight;
	void __fastcall SetBottom(const double Value);
	void __fastcall SetLeft(const double Value);
	void __fastcall SetRight(const double Value);
	void __fastcall SetTop(const double Value);
	
__published:
	__property double Left = {read=FLeft, write=SetLeft};
	__property double Right = {read=FRight, write=SetRight};
	__property double Top = {read=FTop, write=SetTop};
	__property double Bottom = {read=FBottom, write=SetBottom};
public:
	#pragma option push -w-inl
	/* TPersistent.Destroy */ inline __fastcall virtual ~TAHMMargins(void) { }
	#pragma option pop
	
public:
	#pragma option push -w-inl
	/* TObject.Create */ inline __fastcall TAHMMargins(void) : Graphics::TGraphicsObject() { }
	#pragma option pop
	
};


class DELPHICLASS TAHMPaperSize;
class PASCALIMPLEMENTATION TAHMPaperSize : public Graphics::TGraphicsObject 
{
	typedef Graphics::TGraphicsObject inherited;
	
private:
	double FHeight;
	double FWidth;
	void __fastcall SetHeight(const double Value);
	void __fastcall SetWidth(const double Value);
	
__published:
	__property double Width = {read=FWidth, write=SetWidth};
	__property double Height = {read=FHeight, write=SetHeight};
public:
	#pragma option push -w-inl
	/* TPersistent.Destroy */ inline __fastcall virtual ~TAHMPaperSize(void) { }
	#pragma option pop
	
public:
	#pragma option push -w-inl
	/* TObject.Create */ inline __fastcall TAHMPaperSize(void) : Graphics::TGraphicsObject() { }
	#pragma option pop
	
};


class DELPHICLASS TAHMPageSetupDialog;
class PASCALIMPLEMENTATION TAHMPageSetupDialog : public Dialogs::TCommonDialog 
{
	typedef Dialogs::TCommonDialog inherited;
	
private:
	AnsiString FAHMAboutStr;
	TAHMPageSetupOptions FOptions;
	int FCustomData;
	TAHMMeasurements FMeasurements;
	TAHMPrinterEvent FOnPrinter;
	TAHMInitPaintPageEvent FOnInitPaintPage;
	TAHMPaintPageEvent FOnPaintPage;
	TAHMMargins* FMinMargins;
	TAHMMargins* FMargins;
	TAHMPaperSize* FPaperSize;
	bool __fastcall DoPrinter(HWND Wnd);
	bool __fastcall DoExecute(void * Func);
	void __fastcall SetMinMargins(const TAHMMargins* Value);
	void __fastcall SetMargins(const TAHMMargins* Value);
	void __fastcall SetPaperSize(const TAHMPaperSize* Value);
	
protected:
	virtual bool __fastcall Printer(HWND Wnd);
	__property int CustomData = {read=FCustomData, write=FCustomData, nodefault};
	
public:
	__fastcall virtual TAHMPageSetupDialog(Classes::TComponent* AOwner);
	__fastcall virtual ~TAHMPageSetupDialog(void);
	virtual bool __fastcall Execute(void);
	
__published:
	__property TAHMMargins* MinMargins = {read=FMinMargins, write=SetMinMargins};
	__property TAHMMargins* Margins = {read=FMargins, write=SetMargins};
	__property TAHMPaperSize* PaperSize = {read=FPaperSize, write=SetPaperSize};
	__property AnsiString About = {read=FAHMAboutStr, write=FAHMAboutStr, stored=false};
	__property TAHMPageSetupOptions Options = {read=FOptions, write=FOptions, default=129};
	__property TAHMMeasurements Measurements = {read=FMeasurements, write=FMeasurements, default=1};
	__property TAHMPrinterEvent OnPrinter = {read=FOnPrinter, write=FOnPrinter};
	__property TAHMInitPaintPageEvent OnInitPaintPage = {read=FOnInitPaintPage, write=FOnInitPaintPage};
	__property TAHMPaintPageEvent OnPaintPage = {read=FOnPaintPage, write=FOnPaintPage};
};


//-- var, const, procedure ---------------------------------------------------

}	/* namespace Ahmtpsdialog */
using namespace Ahmtpsdialog;
#pragma option pop	// -w-
#pragma option pop	// -Vx

#pragma delphiheader end.
//-- end unit ----------------------------------------------------------------
#endif	// ahmtpsdialog
