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

// (DO NOT EDIT: machine generated header) 'Advsmoothbutton.pas' rev: 10.00

#ifndef AdvsmoothbuttonHPP
#define AdvsmoothbuttonHPP

#pragma delphiheader begin
#pragma option push
#pragma option -w-      // All warnings off
#pragma option -Vx      // Zero-length empty class member functions
#pragma pack(push,8)
#include <System.hpp>	// Pascal unit
#include <Sysinit.hpp>	// Pascal unit
#include <Windows.hpp>	// Pascal unit
#include <Messages.hpp>	// Pascal unit
#include <Sysutils.hpp>	// Pascal unit
#include <Classes.hpp>	// Pascal unit
#include <Graphics.hpp>	// Pascal unit
#include <Controls.hpp>	// Pascal unit
#include <Math.hpp>	// Pascal unit
#include <Advsmoothgdip.hpp>	// Pascal unit
#include <Advstyleif.hpp>	// Pascal unit
#include <Menus.hpp>	// Pascal unit

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

namespace Advsmoothbutton
{
//-- type declarations -------------------------------------------------------
class DELPHICLASS TAdvSmoothButton;
class PASCALIMPLEMENTATION TAdvSmoothButton : public Controls::TCustomControl 
{
	typedef Controls::TCustomControl inherited;
	
private:
	Graphics::TColor FColor;
	bool FDown;
	AnsiString FCaption;
	Advsmoothgdip::TAdvGDIPPicture* FPicture;
	bool FBevel;
	bool FShadow;
	Graphics::TColor FBevelColor;
	void __fastcall SetCaption(const AnsiString Value);
	HIDESBASE void __fastcall SetColor(const Graphics::TColor Value);
	void __fastcall SetPicture(const Advsmoothgdip::TAdvGDIPPicture* Value);
	void __fastcall SetBevel(const bool Value);
	void __fastcall SetShadow(const bool Value);
	void __fastcall SetBevelColor(const Graphics::TColor Value);
	AnsiString __fastcall GetVersion();
	void __fastcall SetVersion(const AnsiString Value);
	HIDESBASE MESSAGE void __fastcall WMEraseBkgnd(Messages::TWMEraseBkgnd &Message);
	HIDESBASE MESSAGE void __fastcall WMPaint(Messages::TWMPaint &Message);
	
protected:
	virtual void __fastcall Paint(void);
	void __fastcall PictureChanged(System::TObject* Sender);
	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);
	int __fastcall GetVersionNr(void);
	
public:
	__fastcall virtual TAdvSmoothButton(Classes::TComponent* AOwner);
	__fastcall virtual ~TAdvSmoothButton(void);
	void __fastcall SetComponentStyle(Advstyleif::TTMSStyle AStyle);
	
__published:
	__property Action ;
	__property Align  = {default=0};
	__property Anchors  = {default=3};
	__property bool Bevel = {read=FBevel, write=SetBevel, default=1};
	__property Graphics::TColor BevelColor = {read=FBevelColor, write=SetBevelColor, default=16777215};
	__property Constraints ;
	__property AnsiString Caption = {read=FCaption, write=SetCaption};
	__property Graphics::TColor Color = {read=FColor, write=SetColor, default=8421504};
	__property Font ;
	__property Advsmoothgdip::TAdvGDIPPicture* Picture = {read=FPicture, write=SetPicture};
	__property PopupMenu ;
	__property bool Shadow = {read=FShadow, write=SetShadow, default=0};
	__property ShowHint ;
	__property TabOrder  = {default=-1};
	__property TabStop  = {default=0};
	__property Visible  = {default=1};
	__property AnsiString Version = {read=GetVersion, write=SetVersion};
	__property OnMouseDown ;
	__property OnMouseUp ;
	__property OnMouseMove ;
	__property OnClick ;
	__property OnDblClick ;
public:
	#pragma option push -w-inl
	/* TWinControl.CreateParented */ inline __fastcall TAdvSmoothButton(HWND ParentWindow) : Controls::TCustomControl(ParentWindow) { }
	#pragma option pop
	
private:
	void *__ITMSStyle;	/* Advstyleif::ITMSStyle */
	
public:
	operator ITMSStyle*(void) { return (ITMSStyle*)&__ITMSStyle; }
	
};


//-- var, const, procedure ---------------------------------------------------
static const Shortint MAJ_VER = 0x1;
static const Shortint MIN_VER = 0x0;
static const Shortint REL_VER = 0x0;
static const Shortint BLD_VER = 0x0;

}	/* namespace Advsmoothbutton */
using namespace Advsmoothbutton;
#pragma pack(pop)
#pragma option pop

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