// Borland C++ Builder
// Copyright (c) 1995, 1998 by Borland International
// All rights reserved

// (DO NOT EDIT: machine generated header) 'AHMTFontControls.pas' rev: 3.00

#ifndef AHMTFontControlsHPP
#define AHMTFontControlsHPP
#include <Menus.hpp>
#include <Forms.hpp>
#include <AHMStdClass.hpp>
#include <StdCtrls.hpp>
#include <Controls.hpp>
#include <Graphics.hpp>
#include <Classes.hpp>
#include <Messages.hpp>
#include <Windows.hpp>
#include <SysInit.hpp>
#include <System.hpp>

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

namespace Ahmtfontcontrols
{
//-- type declarations -------------------------------------------------------
enum TAHMFontTypes { PS, TTF, RASTER, Other };

class DELPHICLASS TAHMFontClass;
class PASCALIMPLEMENTATION TAHMFontClass : public System::TObject 
{
	typedef System::TObject inherited;
	
public:
	System::AnsiString CFontName;
	TAHMFontTypes CFontType;
public:
	/* TObject.Create */ __fastcall TAHMFontClass(void) : System::TObject() { }
	/* TObject.Destroy */ __fastcall virtual ~TAHMFontClass(void) { }
	
};

class DELPHICLASS TAHMFontList;
class PASCALIMPLEMENTATION TAHMFontList : public Classes::TStringList 
{
	typedef Classes::TStringList inherited;
	
__published:
	__fastcall virtual ~TAHMFontList(void);
public:
	/* TObject.Create */ __fastcall TAHMFontList(void) : Classes::TStringList() { }
	
};

typedef Graphics::TBitmap* TAHMFontBits[4];

enum TAHMFilterOption { ShowTrueType, ShowPostScript, ShowRaster, ShowOther };

typedef Set<TAHMFilterOption, ShowTrueType, ShowOther>  TAHMFilterOptions;

typedef void __fastcall (__closure *TAHMOnFontValidate)(System::TObject* Sender, TAHMFontClass* Font
	, bool &accept);

class DELPHICLASS TAHMFontBox;
class PASCALIMPLEMENTATION TAHMFontBox : public Stdctrls::TCustomListBox 
{
	typedef Stdctrls::TCustomListBox inherited;
	
private:
	Ahmstdclass::TAHMAboutSControlStr FAboutStr;
	TAHMFilterOptions FFilterOptions;
	TAHMFontList* FontStringList;
	TAHMOnFontValidate FOnValidateFont;
	Graphics::TBitmap* FBitmaps[4];
	HIDESBASE MESSAGE void __fastcall CMFontChanged(Messages::TMessage &Message);
	System::AnsiString __fastcall GetFontSelected(void);
	void __fastcall SetFontSelected(System::AnsiString Value);
	
protected:
	virtual void __fastcall CreateWnd(void);
	void __fastcall SeTAHMFilterOptions(TAHMFilterOptions Value);
	
public:
	__fastcall virtual TAHMFontBox(Classes::TComponent* AOwner);
	__fastcall virtual ~TAHMFontBox(void);
	virtual void __fastcall DrawItem(int Index, const Windows::TRect &Rect, Stdctrls::TOwnerDrawState State
		);
	void __fastcall ReBuild(void);
	
__published:
	__property Ahmstdclass::TAHMAboutSControlStr About = {read=FAboutStr, write=FAboutStr};
	__property Align ;
	__property BorderStyle ;
	__property Color ;
	__property Ctl3D ;
	__property DragCursor ;
	__property DragMode ;
	__property Enabled ;
	__property ExtendedSelect ;
	__property TAHMFilterOptions FilterOptions = {read=FFilterOptions, write=SeTAHMFilterOptions, default=15
		};
	__property Font ;
	__property IntegralHeight ;
	__property ItemHeight ;
	__property MultiSelect ;
	__property ParentColor ;
	__property ParentCtl3D ;
	__property ParentFont ;
	__property ParentShowHint ;
	__property PopupMenu ;
	__property ShowHint ;
	__property TabOrder ;
	__property TabWidth ;
	__property Visible ;
	__property TAHMOnFontValidate OnValidateFont = {read=FOnValidateFont, write=FOnValidateFont};
	__property OnClick ;
	__property OnDblClick ;
	__property OnDragDrop ;
	__property OnDragOver ;
	__property OnDrawItem ;
	__property OnEndDrag ;
	__property OnEnter ;
	__property OnExit ;
	__property OnKeyDown ;
	__property OnKeyPress ;
	__property OnKeyUp ;
	__property OnMeasureItem ;
	__property OnMouseDown ;
	__property OnMouseMove ;
	__property OnMouseUp ;
	__property OnStartDrag ;
	__property System::AnsiString FontSelected = {read=GetFontSelected, write=SetFontSelected};
public:
	/* TWinControl.CreateParented */ __fastcall TAHMFontBox(HWND ParentWindow) : Stdctrls::TCustomListBox(
		ParentWindow) { }
	
};

class DELPHICLASS TAHMFontCombo;
class PASCALIMPLEMENTATION TAHMFontCombo : public Stdctrls::TCustomComboBox 
{
	typedef Stdctrls::TCustomComboBox inherited;
	
private:
	TAHMFilterOptions FFilterOptions;
	TAHMFontList* FontStringList;
	TAHMOnFontValidate FOnValidateFont;
	Graphics::TBitmap* FBitmaps[4];
	Ahmstdclass::TAHMAboutSControlStr FAboutStr;
	HIDESBASE MESSAGE void __fastcall CMFontChanged(Messages::TMessage &Message);
	
protected:
	virtual void __fastcall CreateWnd(void);
	void __fastcall SeTAHMFilterOptions(TAHMFilterOptions Value);
	System::AnsiString __fastcall GetFontSelected(void);
	void __fastcall SetFontSelected(System::AnsiString Value);
	
public:
	__fastcall virtual TAHMFontCombo(Classes::TComponent* AOwner);
	__fastcall virtual ~TAHMFontCombo(void);
	virtual void __fastcall DrawItem(int Index, const Windows::TRect &Rect, Stdctrls::TOwnerDrawState State
		);
	void __fastcall ReBuild(void);
	
__published:
	__property Ahmstdclass::TAHMAboutSControlStr About = {read=FAboutStr, write=FAboutStr};
	__property Align ;
	__property Color ;
	__property Ctl3D ;
	__property DragMode ;
	__property DragCursor ;
	__property DropDownCount ;
	__property Enabled ;
	__property TAHMFilterOptions FilterOptions = {read=FFilterOptions, write=SeTAHMFilterOptions, default=15
		};
	__property Font ;
	__property MaxLength ;
	__property ParentColor ;
	__property ParentCtl3D ;
	__property ParentFont ;
	__property ParentShowHint ;
	__property PopupMenu ;
	__property ShowHint ;
	__property TabOrder ;
	__property TabStop ;
	__property Text ;
	__property Visible ;
	__property TAHMOnFontValidate OnValidateFont = {read=FOnValidateFont, write=FOnValidateFont};
	__property OnChange ;
	__property OnClick ;
	__property OnDblClick ;
	__property OnDragDrop ;
	__property OnDragOver ;
	__property OnDrawItem ;
	__property OnDropDown ;
	__property OnEndDrag ;
	__property OnEnter ;
	__property OnExit ;
	__property OnKeyDown ;
	__property OnKeyPress ;
	__property OnKeyUp ;
	__property OnMeasureItem ;
	__property OnStartDrag ;
	__property System::AnsiString FontSelected = {read=GetFontSelected, write=SetFontSelected};
public:
	/* TWinControl.CreateParented */ __fastcall TAHMFontCombo(HWND ParentWindow) : Stdctrls::TCustomComboBox(
		ParentWindow) { }
	
};

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

}	/* namespace Ahmtfontcontrols */
#if !defined(NO_IMPLICIT_NAMESPACE_USE)
using namespace Ahmtfontcontrols;
#endif
//-- end unit ----------------------------------------------------------------
#endif	// AHMTFontControls
