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

// (DO NOT EDIT: machine generated header) 'AHMTIconCtrls.pas' rev: 5.00

#ifndef AHMTIconCtrlsHPP
#define AHMTIconCtrlsHPP

#pragma delphiheader begin
#pragma option push -w-
#pragma option push -Vx
#include <Dialogs.hpp>	// Pascal unit
#include <AHMStdClass.hpp>	// Pascal unit
#include <ShellAPI.hpp>	// Pascal unit
#include <Menus.hpp>	// Pascal unit
#include <StdCtrls.hpp>	// Pascal unit
#include <Graphics.hpp>	// Pascal unit
#include <Classes.hpp>	// Pascal unit
#include <Controls.hpp>	// Pascal unit
#include <Forms.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 Ahmticonctrls
{
//-- type declarations -------------------------------------------------------
class DELPHICLASS TAHMIconCombo;
class PASCALIMPLEMENTATION TAHMIconCombo : public Stdctrls::TCustomComboBox 
{
	typedef Stdctrls::TCustomComboBox inherited;
	
private:
	Ahmstdclass::TAHMAboutSControlStr FAboutStr;
	AnsiString FFileName;
	Graphics::TIcon* FIcon;
	int FNumberOfIcons;
	Classes::TNotifyEvent FOnFileChange;
	void __fastcall SetIconDetails(void);
	void __fastcall SetIcon(Graphics::TIcon* Value);
	Graphics::TIcon* __fastcall GetIcon(void);
	int __fastcall GetIconIndex(void);
	void __fastcall SetIconIndex(int Value);
	
protected:
	void __fastcall SetFileName(AnsiString Value);
	virtual void __fastcall MeasureItem(int Index, int &Height);
	virtual void __fastcall DrawItem(int Index, const Windows::TRect &Rect, Windows::TOwnerDrawState State
		);
	virtual void __fastcall CreateParams(Controls::TCreateParams &Params);
	virtual void __fastcall CreateWnd(void);
	
public:
	__fastcall virtual TAHMIconCombo(Classes::TComponent* AOwner);
	virtual void __fastcall Loaded(void);
	__fastcall virtual ~TAHMIconCombo(void);
	
__published:
	__property Ahmstdclass::TAHMAboutSControlStr About = {read=FAboutStr, write=FAboutStr};
	__property int IconIndex = {read=GetIconIndex, write=SetIconIndex, nodefault};
	__property Graphics::TIcon* Icon = {read=GetIcon, write=SetIcon, stored=false};
	__property AnsiString FileName = {read=FFileName, write=SetFileName};
	__property int NumberOfIcons = {read=FNumberOfIcons, default=-1};
	__property Classes::TNotifyEvent OnFileChange = {read=FOnFileChange, write=FOnFileChange};
	__property Color ;
	__property Ctl3D ;
	__property DragMode ;
	__property DragCursor ;
	__property DropDownCount ;
	__property Enabled ;
	__property ParentColor ;
	__property ParentCtl3D ;
	__property ParentFont ;
	__property ParentShowHint ;
	__property PopupMenu ;
	__property ShowHint ;
	__property TabOrder ;
	__property TabStop ;
	__property Visible ;
	__property OnClick ;
	__property OnDblClick ;
	__property OnDragDrop ;
	__property OnDragOver ;
	__property OnDropDown ;
	__property OnEndDrag ;
	__property OnEnter ;
	__property OnExit ;
	__property OnKeyDown ;
	__property OnKeyPress ;
	__property OnKeyUp ;
public:
	#pragma option push -w-inl
	/* TWinControl.CreateParented */ inline __fastcall TAHMIconCombo(HWND ParentWindow) : Stdctrls::TCustomComboBox(
		ParentWindow) { }
	#pragma option pop
	
};


class DELPHICLASS TAHMIconListbox;
class PASCALIMPLEMENTATION TAHMIconListbox : public Stdctrls::TCustomListBox 
{
	typedef Stdctrls::TCustomListBox inherited;
	
private:
	Ahmstdclass::TAHMAboutSControlStr FAboutStr;
	AnsiString FFileName;
	bool FLock;
	int FNumberOfIcons;
	int FItemWidth;
	int FXIcons;
	int FYIcons;
	Classes::TNotifyEvent FOnChange;
	Classes::TNotifyEvent FOnFileChange;
	Graphics::TIcon* FIcon;
	void __fastcall SetIconDetails(void);
	void __fastcall ResetSize(void);
	void __fastcall SetIcon(Graphics::TIcon* Value);
	Graphics::TIcon* __fastcall GetIcon(void);
	int __fastcall GetIconIndex(void);
	void __fastcall SetIconIndex(int Value);
	
protected:
	void __fastcall SetFileName(AnsiString Value);
	void __fastcall SetXIcons(int Value);
	void __fastcall SetYIcons(int Value);
	virtual void __fastcall MeasureItem(int Index, int &Height);
	virtual void __fastcall DrawItem(int Index, const Windows::TRect &Rect, Windows::TOwnerDrawState State
		);
	virtual void __fastcall CreateParams(Controls::TCreateParams &Params);
	virtual void __fastcall CreateWnd(void);
	
public:
	__fastcall virtual TAHMIconListbox(Classes::TComponent* AOwner);
	virtual void __fastcall Loaded(void);
	__fastcall virtual ~TAHMIconListbox(void);
	
__published:
	__property int IconIndex = {read=GetIconIndex, write=SetIconIndex, nodefault};
	__property Graphics::TIcon* Icon = {read=GetIcon, write=SetIcon, stored=false};
	__property Ahmstdclass::TAHMAboutSControlStr About = {read=FAboutStr, write=FAboutStr};
	__property AnsiString FileName = {read=FFileName, write=SetFileName};
	__property int NumberOfIcons = {read=FNumberOfIcons, default=-1};
	__property int XIcons = {read=FXIcons, write=SetXIcons, default=4};
	__property int YIcons = {read=FYIcons, write=SetYIcons, default=1};
	__property Classes::TNotifyEvent OnFileChange = {read=FOnFileChange, write=FOnFileChange};
	__property Align ;
	__property Color ;
	__property Ctl3D ;
	__property DragMode ;
	__property DragCursor ;
	__property Enabled ;
	__property ParentColor ;
	__property ParentCtl3D ;
	__property ParentFont ;
	__property ParentShowHint ;
	__property PopupMenu ;
	__property ShowHint ;
	__property TabOrder ;
	__property TabStop ;
	__property Visible ;
	__property Classes::TNotifyEvent OnChange = {read=FOnChange, write=FOnChange};
	__property OnClick ;
	__property OnDblClick ;
	__property OnDragDrop ;
	__property OnDragOver ;
	__property OnEndDrag ;
	__property OnEnter ;
	__property OnExit ;
	__property OnKeyDown ;
	__property OnKeyPress ;
	__property OnKeyUp ;
public:
	#pragma option push -w-inl
	/* TWinControl.CreateParented */ inline __fastcall TAHMIconListbox(HWND ParentWindow) : Stdctrls::TCustomListBox(
		ParentWindow) { }
	#pragma option pop
	
};


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

}	/* namespace Ahmticonctrls */
#if !defined(NO_IMPLICIT_NAMESPACE_USE)
using namespace Ahmticonctrls;
#endif
#pragma option pop	// -w-
#pragma option pop	// -Vx

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