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

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

#ifndef ahmtheaderlistHPP
#define ahmtheaderlistHPP

#pragma delphiheader begin
#pragma option push -w-
#pragma option push -Vx
#include <ahmcontrols.hpp>	// Pascal unit
#include <ahmtbackground.hpp>	// Pascal unit
#include <ahmenhancedclass.hpp>	// Pascal unit
#include <ExtCtrls.hpp>	// Pascal unit
#include <StdCtrls.hpp>	// Pascal unit
#include <Forms.hpp>	// Pascal unit
#include <Controls.hpp>	// Pascal unit
#include <Graphics.hpp>	// Pascal unit
#include <Classes.hpp>	// Pascal unit
#include <Messages.hpp>	// Pascal unit
#include <Menus.hpp>	// Pascal unit
#include <SysUtils.hpp>	// Pascal unit
#include <Windows.hpp>	// Pascal unit
#include <SysInit.hpp>	// Pascal unit
#include <System.hpp>	// Pascal unit

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

namespace Ahmtheaderlist
{
//-- type declarations -------------------------------------------------------
class DELPHICLASS TAHMHeaderList;
class PASCALIMPLEMENTATION TAHMHeaderList : public Extctrls::TCustomPanel 
{
	typedef Extctrls::TCustomPanel inherited;
	
private:
	char FDelimiter;
	Ahmcontrols::TAHMHeader* FHeader;
	bool FHScroll;
	int FItemHeight;
	Stdctrls::TListBox* FListBox;
	Stdctrls::TListBoxStyle FListBoxStyle;
	Graphics::TColor FSelColor;
	Extctrls::TSectionEvent FOnHeaderSized;
	Stdctrls::TDrawItemEvent FOnDrawItem;
	AnsiString FAHMAboutStr;
	void __fastcall AlignClients(void);
	bool __fastcall GetBool(int Index);
	Graphics::TCanvas* __fastcall GetCanvas(void);
	Graphics::TColor __fastcall GetColor(int Index);
	Controls::TCursor __fastcall GetCursor(int Index);
	Graphics::TFont* __fastcall GetFont(int Index);
	AnsiString __fastcall GetHint();
	int __fastcall GetInteger(int Index);
	Extctrls::TSectionEvent __fastcall GetSectionEvent();
	Classes::TStrings* __fastcall GetStrings(int Index);
	Controls::TDragMode __fastcall GetDragMode(void);
	Controls::TDragDropEvent __fastcall GetDragDropEvent();
	Controls::TDragOverEvent __fastcall GetDragOverEvent();
	Controls::TEndDragEvent __fastcall GetEndDragEvent();
	Controls::TKeyEvent __fastcall GetKeyEvent(int Index);
	Controls::TKeyPressEvent __fastcall GetKeyPressEvent();
	Stdctrls::TMeasureItemEvent __fastcall GetMeasureItemEvent();
	Controls::TMouseEvent __fastcall GetMouseEvent(int Index);
	Controls::TMouseMoveEvent __fastcall GetMouseMoveEvent();
	Classes::TNotifyEvent __fastcall GetNotifyEvent(int Index);
	bool __fastcall GetSelected(int Index);
	Controls::TStartDragEvent __fastcall GetStartDragEvent();
	void __fastcall SetStartDragEvent(Controls::TStartDragEvent aValue);
	void __fastcall SetBool(int Index, bool aValue);
	HIDESBASE void __fastcall SetColor(int Index, Graphics::TColor aValue);
	HIDESBASE void __fastcall SetCursor(int Index, Controls::TCursor aValue);
	void __fastcall SetDelimiter(char aValue);
	void __fastcall SetDragMod(Controls::TDragMode aValue);
	HIDESBASE void __fastcall SetFont(int Index, Graphics::TFont* aValue);
	void __fastcall SetHint(AnsiString aValue);
	void __fastcall SetInteger(int Index, int aValue);
	void __fastcall SetSectionEvent(Extctrls::TSectionEvent aValue);
	void __fastcall SetStrings(int Index, Classes::TStrings* aValue);
	void __fastcall SetDragDropEvent(Controls::TDragDropEvent aValue);
	void __fastcall SetDragOverEvent(Controls::TDragOverEvent aValue);
	void __fastcall SetEndDragEvent(Controls::TEndDragEvent aValue);
	void __fastcall SetKeyPressEvent(Controls::TKeyPressEvent aValue);
	void __fastcall SetKeyEvent(int Index, Controls::TKeyEvent aValue);
	void __fastcall SetListBoxStyle(Stdctrls::TListBoxStyle aValue);
	void __fastcall SetMeasureItemEvent(Stdctrls::TMeasureItemEvent aValue);
	void __fastcall SetMouseEvent(int Index, Controls::TMouseEvent aValue);
	void __fastcall SetMouseMoveEvent(Controls::TMouseMoveEvent aValue);
	void __fastcall SetNotifyEvent(int Index, Classes::TNotifyEvent aValue);
	void __fastcall SetSelected(int Index, bool flag);
	HIDESBASE MESSAGE void __fastcall WMEraseBkgnd(Messages::TWMEraseBkgnd &Message);
	void __fastcall HeaderSized(System::TObject* Sender, int aSection, int aWidth);
	void __fastcall DrawItem(Controls::TWinControl* Control, int Index, const Types::TRect &Rect, Windows::TOwnerDrawState State);
	void __fastcall SetHBS(Forms::TBorderStyle value);
	Forms::TBorderStyle __fastcall GetHBS(void);
	void __fastcall Set3D(Ahmenhancedclass::TAHMFont3D* value);
	Ahmenhancedclass::TAHMFont3D* __fastcall Get3D(void);
	void __fastcall SetBack(Ahmtbackground::TAHMBackground* value);
	Ahmtbackground::TAHMBackground* __fastcall GetBack(void);
	void __fastcall ReadI(Classes::TReader* Reader);
	void __fastcall WriteI(Classes::TWriter* Writer);
	
protected:
	virtual void __fastcall DefineProperties(Classes::TFiler* Filer);
	virtual void __fastcall Paint(void);
	
public:
	__fastcall virtual TAHMHeaderList(Classes::TComponent* AOwner);
	virtual void __fastcall Loaded(void);
	__fastcall virtual ~TAHMHeaderList(void);
	int __fastcall AddLine(const AnsiString * X, const int X_Size);
	void __fastcall Clear(void);
	void __fastcall PrepareDrawItem(const Types::TRect &Rect, Windows::TOwnerDrawState State);
	virtual void __fastcall SetFocus(void);
	int __fastcall ItemAtPos(const Types::TPoint &Pos, bool Existing);
	AnsiString __fastcall ItemPart(int Index, int Col);
	__property Graphics::TCanvas* Canvas = {read=GetCanvas};
	__property int ItemIndex = {read=GetInteger, write=SetInteger, index=1, nodefault};
	__property Stdctrls::TListBox* ListBx = {read=FListBox};
	__property int SectionCount = {read=GetInteger, index=5, nodefault};
	__property int SelCount = {read=GetInteger, index=3, nodefault};
	__property bool Selected[int Index] = {read=GetSelected, write=SetSelected};
	__property Showing ;
	__property int TopIndex = {read=GetInteger, write=SetInteger, index=2, nodefault};
	__property Ahmcontrols::TAHMHeader* Header = {read=FHeader};
	
__published:
	__property AnsiString About = {read=FAHMAboutStr, write=FAHMAboutStr, stored=false};
	__property Anchors  = {default=3};
	__property BiDiMode ;
	__property Constraints ;
	__property DragKind  = {default=0};
	__property ParentBiDiMode  = {default=1};
	__property Align  = {default=0};
	__property bool AllowResize = {read=GetBool, write=SetBool, index=5, default=1};
	__property BevelInner  = {default=0};
	__property BevelOuter  = {default=2};
	__property Ahmtbackground::TAHMBackground* HeaderBackground = {read=GetBack, write=SetBack};
	__property Ahmenhancedclass::TAHMFont3D* HeaderFont3D = {read=Get3D, write=Set3D};
	__property Forms::TBorderStyle HeaderBorderStyle = {read=GetHBS, write=SetHBS, default=0};
	__property Graphics::TColor Color = {read=GetColor, write=SetColor, index=0, default=16777215};
	__property Controls::TCursor Cursor = {read=GetCursor, write=SetCursor, index=0, default=0};
	__property char Delimiter = {read=FDelimiter, write=SetDelimiter, default=59};
	__property Controls::TCursor DragCursor = {read=GetCursor, write=SetCursor, index=1, default=-12};
	__property Controls::TDragMode DragMode = {read=GetDragMode, write=SetDragMod, default=0};
	__property bool Enabled = {read=GetBool, write=SetBool, index=0, default=1};
	__property bool ExtendedSelect = {read=GetBool, write=SetBool, index=1, default=1};
	__property Graphics::TFont* Font = {read=GetFont, write=SetFont, index=1};
	__property Graphics::TFont* HeaderFont = {read=GetFont, write=SetFont, index=0};
	__property int HeaderHeight = {read=GetInteger, write=SetInteger, index=0, default=25};
	__property bool HeaderVisible = {read=GetBool, write=SetBool, index=2, default=1};
	__property AnsiString Hint = {read=GetHint, write=SetHint};
	__property int ItemHeight = {read=GetInteger, write=SetInteger, stored=false, index=4, nodefault};
	__property Classes::TStrings* Items = {read=GetStrings, write=SetStrings, index=1};
	__property bool MultiSelect = {read=GetBool, write=SetBool, index=3, default=0};
	__property bool ParentShowHint = {read=GetBool, write=SetBool, index=7, default=1};
	__property PopupMenu ;
	__property Classes::TStrings* HeaderSections = {read=GetStrings, write=SetStrings, index=0};
	__property Graphics::TColor SelectedColor = {read=GetColor, write=SetColor, index=1, default=-2147483635};
	__property bool ShowHint = {read=GetBool, write=SetBool, index=6, default=0};
	__property bool Sorted = {read=GetBool, write=SetBool, index=4, default=0};
	__property Stdctrls::TListBoxStyle ListBoxStyle = {read=FListBoxStyle, write=SetListBoxStyle, default=0};
	__property TabOrder  = {default=-1};
	__property bool TabStop = {read=GetBool, write=SetBool, index=8, default=1};
	__property Visible  = {default=1};
	__property Classes::TNotifyEvent OnClick = {read=GetNotifyEvent, write=SetNotifyEvent, index=0};
	__property Classes::TNotifyEvent OnDblClick = {read=GetNotifyEvent, write=SetNotifyEvent, index=1};
	__property Stdctrls::TDrawItemEvent OnDrawItem = {read=FOnDrawItem, write=FOnDrawItem};
	__property Classes::TNotifyEvent OnEnter = {read=GetNotifyEvent, write=SetNotifyEvent, index=2};
	__property Classes::TNotifyEvent OnExit = {read=GetNotifyEvent, write=SetNotifyEvent, index=3};
	__property Controls::TDragDropEvent OnDragDrop = {read=GetDragDropEvent, write=SetDragDropEvent};
	__property Controls::TDragOverEvent OnDragOver = {read=GetDragOverEvent, write=SetDragOverEvent};
	__property Controls::TEndDragEvent OnEndDrag = {read=GetEndDragEvent, write=SetEndDragEvent};
	__property Controls::TStartDragEvent OnStartDrag = {read=GetStartDragEvent, write=SetStartDragEvent};
	__property Stdctrls::TMeasureItemEvent OnMeasureItem = {read=GetMeasureItemEvent, write=SetMeasureItemEvent};
	__property Controls::TMouseEvent OnMouseDown = {read=GetMouseEvent, write=SetMouseEvent, index=0};
	__property Controls::TMouseMoveEvent OnMouseMove = {read=GetMouseMoveEvent, write=SetMouseMoveEvent};
	__property Controls::TMouseEvent OnMouseUp = {read=GetMouseEvent, write=SetMouseEvent, index=2};
	__property Controls::TKeyEvent OnKeyDown = {read=GetKeyEvent, write=SetKeyEvent, index=0};
	__property Controls::TKeyEvent OnKeyUp = {read=GetKeyEvent, write=SetKeyEvent, index=1};
	__property Controls::TKeyPressEvent OnKeyPress = {read=GetKeyPressEvent, write=SetKeyPressEvent};
	__property Extctrls::TSectionEvent OnHeaderSized = {read=FOnHeaderSized, write=FOnHeaderSized};
	__property Extctrls::TSectionEvent OnHeaderSizing = {read=GetSectionEvent, write=SetSectionEvent};
	__property OnResize ;
public:
	#pragma option push -w-inl
	/* TWinControl.CreateParented */ inline __fastcall TAHMHeaderList(HWND ParentWindow) : Extctrls::TCustomPanel(ParentWindow) { }
	#pragma option pop
	
};


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

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

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