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

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

#ifndef ahmcontrolsHPP
#define ahmcontrolsHPP

#pragma delphiheader begin
#pragma option push -w-
#pragma option push -Vx
#include <Menus.hpp>	// Pascal unit
#include <ahmenhancedclass.hpp>	// Pascal unit
#include <ahmtbackground.hpp>	// Pascal unit
#include <StdCtrls.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 Ahmcontrols
{
//-- type declarations -------------------------------------------------------
typedef void __fastcall (__closure *TAHMSectionChange)(System::TObject* Sender, int ASection, int AWidth);

class DELPHICLASS TAHMCustomControl;
class PASCALIMPLEMENTATION TAHMCustomControl : public Controls::TWinControl 
{
	typedef Controls::TWinControl inherited;
	
private:
	AnsiString FAHMAboutStr;
	Graphics::TCanvas* FCanvas;
	Ahmtbackground::TAHMBackground* FBack;
	HIDESBASE MESSAGE void __fastcall WMPaint(Messages::TWMPaint &Message);
	void __fastcall SetBack(Ahmtbackground::TAHMBackground* Value);
	
protected:
	virtual void __fastcall Notification(Classes::TComponent* AComponent, Classes::TOperation Operation);
	virtual void __fastcall Paint(void);
	virtual void __fastcall PaintWindow(HDC DC);
	__property Graphics::TCanvas* Canvas = {read=FCanvas};
	
public:
	__property AnsiString About = {read=FAHMAboutStr, write=FAHMAboutStr, stored=false};
	__property Ahmtbackground::TAHMBackground* Background = {read=FBack, write=SetBack, stored=true};
	__fastcall virtual TAHMCustomControl(Classes::TComponent* AOwner);
	__fastcall virtual ~TAHMCustomControl(void);
	virtual void __fastcall Loaded(void);
	
__published:
	__property Anchors  = {default=3};
	__property AutoSize  = {default=0};
	__property BiDiMode ;
	__property Constraints ;
	__property DragKind  = {default=0};
	__property ParentBiDiMode  = {default=1};
	__property OnEndDock ;
	__property OnStartDock ;
	__property OnDockDrop ;
	__property OnDockOver ;
	__property OnMouseWheel ;
	__property OnMouseWheelDown ;
	__property OnMouseWheelUp ;
	__property OnUnDock ;
	__property OnGetSiteInfo ;
	__property Color  = {default=-2147483643};
	__property Ctl3D ;
	__property DragCursor  = {default=-12};
	__property DragMode  = {default=0};
	__property Enabled  = {default=1};
	__property Font ;
	__property ImeMode  = {default=3};
	__property ImeName ;
	__property ParentColor  = {default=1};
	__property ParentCtl3D  = {default=1};
	__property ParentFont  = {default=1};
	__property ParentShowHint  = {default=1};
	__property PopupMenu ;
	__property ShowHint ;
	__property TabOrder  = {default=-1};
	__property TabStop  = {default=0};
	__property Text ;
	__property Visible  = {default=1};
	__property OnClick ;
	__property OnDblClick ;
	__property OnDragDrop ;
	__property OnDragOver ;
	__property OnEndDrag ;
	__property OnEnter ;
	__property OnExit ;
	__property OnKeyDown ;
	__property OnKeyPress ;
	__property OnKeyUp ;
	__property OnMouseDown ;
	__property OnMouseMove ;
	__property OnMouseUp ;
	__property OnStartDrag ;
public:
	#pragma option push -w-inl
	/* TWinControl.CreateParented */ inline __fastcall TAHMCustomControl(HWND ParentWindow) : Controls::TWinControl(ParentWindow) { }
	#pragma option pop
	
};


class DELPHICLASS TAHMHeader;
class PASCALIMPLEMENTATION TAHMHeader : public TAHMCustomControl 
{
	typedef TAHMCustomControl inherited;
	
private:
	Classes::TStrings* FSections;
	#pragma pack(push, 1)
	Types::TPoint FMouse;
	#pragma pack(pop)
	
	#pragma pack(push, 1)
	Types::TPoint FHitTest;
	#pragma pack(pop)
	
	bool FClick;
	Ahmenhancedclass::TAHMFont3D* f3D;
	bool FCanResize;
	bool FAllowResize;
	Forms::TFormBorderStyle FBorderStyle;
	int FResizeSection;
	int FMouseOffset;
	TAHMSectionChange FOnSizing;
	TAHMSectionChange FOnSized;
	void __fastcall Set3D(Ahmenhancedclass::TAHMFont3D* value);
	void __fastcall SetBorderStyle(Forms::TBorderStyle Value);
	void __fastcall FreeSections(void);
	void __fastcall SetSections(Classes::TStrings* Strings);
	int __fastcall GetWidth(int X);
	HIDESBASE void __fastcall SetWidth(int X, int Value);
	HIDESBASE MESSAGE void __fastcall WMSetCursor(Messages::TWMSetCursor &Msg);
	HIDESBASE MESSAGE void __fastcall WMNCHitTest(Messages::TWMNCHitTest &Msg);
	HIDESBASE MESSAGE void __fastcall WMSize(Messages::TWMSize &Msg);
	
protected:
	DYNAMIC void __fastcall MouseMove(Classes::TShiftState Shift, int X, int Y);
	DYNAMIC void __fastcall MouseDown(Controls::TMouseButton Button, Classes::TShiftState Shift, int X, int Y);
	DYNAMIC void __fastcall MouseUp(Controls::TMouseButton Button, Classes::TShiftState Shift, int X, int Y);
	virtual void __fastcall Paint(void);
	virtual void __fastcall CreateParams(Controls::TCreateParams &Params);
	DYNAMIC void __fastcall Sizing(int ASection, int AWidth);
	DYNAMIC void __fastcall Sized(int ASection, int AWidth);
	
public:
	__fastcall virtual TAHMHeader(Classes::TComponent* AOwner);
	__fastcall virtual ~TAHMHeader(void);
	__property int SectionWidth[int X] = {read=GetWidth, write=SetWidth};
	
__published:
	__property About ;
	__property bool AllowResize = {read=FAllowResize, write=FAllowResize, default=1};
	__property Forms::TBorderStyle BorderStyle = {read=FBorderStyle, write=SetBorderStyle, default=0};
	__property Ahmenhancedclass::TAHMFont3D* Font3D = {read=f3D, write=Set3D};
	__property Classes::TStrings* Sections = {read=FSections, write=SetSections};
	__property TAHMSectionChange OnSizing = {read=FOnSizing, write=FOnSizing};
	__property TAHMSectionChange OnSized = {read=FOnSized, write=FOnSized};
	__property Background ;
public:
	#pragma option push -w-inl
	/* TWinControl.CreateParented */ inline __fastcall TAHMHeader(HWND ParentWindow) : TAHMCustomControl(ParentWindow) { }
	#pragma option pop
	
};


class DELPHICLASS TAHMGraphicControl;
class PASCALIMPLEMENTATION TAHMGraphicControl : public Controls::TGraphicControl 
{
	typedef Controls::TGraphicControl inherited;
	
private:
	AnsiString FAHMAboutStr;
	
__published:
	__property AnsiString About = {read=FAHMAboutStr, write=FAHMAboutStr, stored=false};
	__property Align  = {default=0};
	__property Anchors  = {default=3};
	__property AutoSize  = {default=0};
	__property BiDiMode ;
	__property Constraints ;
	__property DragKind  = {default=0};
	__property ParentBiDiMode  = {default=1};
	__property OnEndDock ;
	__property OnStartDock ;
	__property DragCursor  = {default=-12};
	__property DragMode  = {default=0};
	__property Enabled  = {default=1};
	__property Font ;
	__property ParentFont  = {default=1};
	__property ParentShowHint  = {default=1};
	__property PopupMenu ;
	__property ShowHint ;
	__property Visible  = {default=1};
	__property OnClick ;
	__property OnDblClick ;
	__property OnDragDrop ;
	__property OnDragOver ;
	__property OnEndDrag ;
	__property OnMouseDown ;
	__property OnMouseMove ;
	__property OnMouseUp ;
	__property OnStartDrag ;
public:
	#pragma option push -w-inl
	/* TGraphicControl.Create */ inline __fastcall virtual TAHMGraphicControl(Classes::TComponent* AOwner) : Controls::TGraphicControl(AOwner) { }
	#pragma option pop
	#pragma option push -w-inl
	/* TGraphicControl.Destroy */ inline __fastcall virtual ~TAHMGraphicControl(void) { }
	#pragma option pop
	
};


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

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

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