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

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

#ifndef SGListsContrlHPP
#define SGListsContrlHPP
#include <Menus.hpp>
#include <Options.hpp>
#include <Forms.hpp>
#include <ShellAPI.hpp>
#include <IniFiles.hpp>
#include <Registry.hpp>
#include <StdCtrls.hpp>
#include <Controls.hpp>
#include <Graphics.hpp>
#include <Classes.hpp>
#include <SysUtils.hpp>
#include <Messages.hpp>
#include <Windows.hpp>
#include <SysInit.hpp>
#include <System.hpp>

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

namespace Sglistscontrl
{
//-- type declarations -------------------------------------------------------
class DELPHICLASS TSGComboBox;
class PASCALIMPLEMENTATION TSGComboBox : public Stdctrls::TCustomComboBox 
{
	typedef Stdctrls::TCustomComboBox inherited;
	
private:
	Controls::TImageList* FImages;
	Options::TSGListsOptions* fOptions;
	Graphics::TCanvas* FCanvas;
	int FWidth;
	int FHeight;
	Classes::TNotifyEvent FOnChange;
	Classes::TNotifyEvent FOnSave;
	Classes::TNotifyEvent FOnRestore;
	Classes::TNotifyEvent FOnClear;
	void __fastcall _Save(void);
	void __fastcall _Restore(void);
	void __fastcall SaveToIni(void);
	void __fastcall RestoreFromIni(void);
	void __fastcall _LimitItems(void);
	HIDESBASE MESSAGE void __fastcall CMFontChanged(Messages::TMessage &Message);
	void __fastcall ResetItemHeight(void);
	
protected:
	virtual void __fastcall CreateWnd(void);
	virtual void __fastcall Notification(Classes::TComponent* AComponent, Classes::TOperation Operation
		);
	virtual void __fastcall DrawItem(int Index, const Windows::TRect &R, Stdctrls::TOwnerDrawState State
		);
	virtual void __fastcall MeasureItem(int Index, int &Height);
	HIDESBASE MESSAGE void __fastcall CNDrawItem(Messages::TWMDrawItem &Message);
	HIDESBASE MESSAGE void __fastcall CNCommand(Messages::TWMCommand &Message);
	DYNAMIC void __fastcall Change(void);
	void __fastcall SetImages(Controls::TImageList* Value);
	
public:
	__fastcall virtual TSGComboBox(Classes::TComponent* AOwner);
	__fastcall virtual ~TSGComboBox(void);
	__property Graphics::TCanvas* Canvas = {read=FCanvas};
	void __fastcall Save(void);
	void __fastcall Restore(void);
	void __fastcall ClearItems(void);
	void __fastcall GetDrvEx(bool Fixed, bool RAM, bool Remov, bool CDDRV, bool Net);
	
__published:
	__property Color ;
	__property Ctl3D ;
	__property DragMode ;
	__property DragCursor ;
	__property Enabled ;
	__property Font ;
	__property Controls::TImageList* ImageList = {read=FImages, write=SetImages};
	__property Items ;
	__property ParentColor ;
	__property ParentCtl3D ;
	__property ParentFont ;
	__property ParentShowHint ;
	__property PopupMenu ;
	__property ShowHint ;
	__property Sorted ;
	__property Tag ;
	__property TabOrder ;
	__property TabStop ;
	__property Visible ;
	__property Classes::TNotifyEvent OnChange = {read=FOnChange, write=FOnChange};
	__property OnClick ;
	__property OnDblClick ;
	__property OnDragDrop ;
	__property OnDragOver ;
	__property OnDropDown ;
	__property OnEndDrag ;
	__property OnEnter ;
	__property OnExit ;
	__property OnKeyDown ;
	__property OnKeyPress ;
	__property OnKeyUp ;
	__property OnStartDrag ;
	__property Classes::TNotifyEvent OnSave = {read=FOnSave, write=FOnSave};
	__property Classes::TNotifyEvent OnRestore = {read=FOnRestore, write=FOnRestore};
	__property Classes::TNotifyEvent OnClear = {read=FOnClear, write=FOnClear};
	__property Options::TSGListsOptions* Options = {read=fOptions, write=fOptions};
public:
	/* TWinControl.CreateParented */ __fastcall TSGComboBox(HWND ParentWindow) : Stdctrls::TCustomComboBox(
		ParentWindow) { }
	
};

enum TItemAlign { iaLeft, iaCenter, iaRight };

class DELPHICLASS TSGListBox;
class PASCALIMPLEMENTATION TSGListBox : public Stdctrls::TCustomListBox 
{
	typedef Stdctrls::TCustomListBox inherited;
	
private:
	Options::TSGListsOptions* fOptions;
	Classes::TNotifyEvent FOnSave;
	Classes::TNotifyEvent FOnRestore;
	Classes::TNotifyEvent FOnClear;
	Controls::TImageList* FImages;
	Graphics::TCanvas* FCanvas;
	int FWidth;
	int FHeight;
	TItemAlign FTextAlign;
	void __fastcall _Save(void);
	void __fastcall _Restore(void);
	void __fastcall SaveToIni(void);
	void __fastcall RestoreFromIni(void);
	void __fastcall _LimitItems(void);
	HIDESBASE MESSAGE void __fastcall CMFontChanged(Messages::TMessage &Message);
	void __fastcall ResetItemHeight(void);
	void __fastcall SetImages(Controls::TImageList* Value);
	void __fastcall SetTextAlign(TItemAlign Value);
	void __fastcall DrawLeftGlyph(int Index, const Windows::TRect &Rect, Stdctrls::TOwnerDrawState State
		);
	void __fastcall DrawRightGlyph(int Index, const Windows::TRect &Rect, Stdctrls::TOwnerDrawState State
		);
	void __fastcall DrawCenteredGlyph(int Index, const Windows::TRect &Rect, Stdctrls::TOwnerDrawState 
		State);
	
protected:
	virtual void __fastcall CreateWnd(void);
	virtual void __fastcall Notification(Classes::TComponent* AComponent, Classes::TOperation Operation
		);
	virtual void __fastcall DrawItem(int Index, const Windows::TRect &Rect, Stdctrls::TOwnerDrawState State
		);
	virtual void __fastcall MeasureItem(int Index, int &Height);
	HIDESBASE MESSAGE void __fastcall CNDrawItem(Messages::TWMDrawItem &Message);
	HIDESBASE MESSAGE void __fastcall CNCommand(Messages::TWMCommand &Message);
	
public:
	__fastcall virtual TSGListBox(Classes::TComponent* AOwner);
	__fastcall virtual ~TSGListBox(void);
	__property Graphics::TCanvas* Canvas = {read=FCanvas};
	void __fastcall Save(void);
	void __fastcall Restore(void);
	void __fastcall ClearItems(void);
	void __fastcall GetDrvEx(bool Fixed, bool RAM, bool Remov, bool CDDRV, bool Net);
	
__published:
	__property Align ;
	__property BorderStyle ;
	__property Color ;
	__property Ctl3D ;
	__property DragMode ;
	__property DragCursor ;
	__property Enabled ;
	__property Font ;
	__property Controls::TImageList* ImageList = {read=FImages, write=SetImages};
	__property IntegralHeight ;
	__property ItemHeight ;
	__property Items ;
	__property ParentColor ;
	__property ParentCtl3D ;
	__property ParentFont ;
	__property ParentShowHint ;
	__property PopupMenu ;
	__property ShowHint ;
	__property TItemAlign TextAlign = {read=FTextAlign, write=SetTextAlign, nodefault};
	__property TabOrder ;
	__property TabStop ;
	__property Visible ;
	__property OnClick ;
	__property OnDblClick ;
	__property OnDragDrop ;
	__property OnDragOver ;
	__property OnEndDrag ;
	__property OnEnter ;
	__property OnExit ;
	__property OnKeyDown ;
	__property OnKeyPress ;
	__property OnKeyUp ;
	__property OnStartDrag ;
	__property Sorted ;
	__property Tag ;
	__property Classes::TNotifyEvent OnSave = {read=FOnSave, write=FOnSave};
	__property Classes::TNotifyEvent OnRestore = {read=FOnRestore, write=FOnRestore};
	__property Classes::TNotifyEvent OnClear = {read=FOnClear, write=FOnClear};
	__property Options::TSGListsOptions* Options = {read=fOptions, write=fOptions};
public:
	/* TWinControl.CreateParented */ __fastcall TSGListBox(HWND ParentWindow) : Stdctrls::TCustomListBox(
		ParentWindow) { }
	
};

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

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