// CodeGear C++Builder
// Copyright (c) 1995, 2011 by Embarcadero Technologies, Inc.
// All rights reserved

// (DO NOT EDIT: machine generated header) 'PNGButton.pas' rev: 23.00 (Win32)

#ifndef PngbuttonHPP
#define PngbuttonHPP

#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 <System.SysUtils.hpp>	// Pascal unit
#include <Winapi.Messages.hpp>	// Pascal unit
#include <System.Classes.hpp>	// Pascal unit
#include <Vcl.Forms.hpp>	// Pascal unit
#include <Vcl.Graphics.hpp>	// Pascal unit
#include <Vcl.Controls.hpp>	// Pascal unit
#include <Vcl.Imaging.pngimage.hpp>	// Pascal unit
#include <System.UITypes.hpp>	// Pascal unit
#include <Vcl.Menus.hpp>	// Pascal unit

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

namespace Pngbutton
{
//-- type declarations -------------------------------------------------------
class DELPHICLASS TPNGButton;
class PASCALIMPLEMENTATION TPNGButton : public Vcl::Controls::TGraphicControl
{
	typedef Vcl::Controls::TGraphicControl inherited;
	
private:
	System::Classes::TNotifyEvent FOnMouseEnter;
	System::Classes::TNotifyEvent FOnMouseLeave;
	System::Uitypes::TModalResult FModalResult;
	
protected:
	int EtatBtn;
	bool FDown;
	int FStateCount;
	Vcl::Imaging::Pngimage::TPngImage* FPngImg;
	DYNAMIC void __fastcall MouseDown(System::Uitypes::TMouseButton Button, System::Classes::TShiftState Shift, int X, int Y);
	DYNAMIC void __fastcall MouseUp(System::Uitypes::TMouseButton Button, System::Classes::TShiftState Shift, int X, int Y);
	MESSAGE void __fastcall MouseEnter(Winapi::Messages::TMessage &Msg);
	MESSAGE void __fastcall MouseLeave(Winapi::Messages::TMessage &Msg);
	virtual void __fastcall SetEnabled(bool Value);
	
public:
	__fastcall virtual TPNGButton(System::Classes::TComponent* AOwner);
	__fastcall virtual ~TPNGButton(void);
	void __fastcall SetStateCount(int value);
	void __fastcall SetPngImg(Vcl::Imaging::Pngimage::TPngImage* value);
	void __fastcall SetDown(bool value);
	virtual void __fastcall Paint(void);
	DYNAMIC void __fastcall Click(void);
	
__published:
	__property Action;
	__property Anchors = {default=3};
	__property bool Down = {read=FDown, write=SetDown, default=0};
	__property Enabled = {default=1};
	__property int ImgStates = {read=FStateCount, write=SetStateCount, default=4};
	__property System::Uitypes::TModalResult ModalResult = {read=FModalResult, write=FModalResult, default=0};
	__property ParentShowHint = {default=1};
	__property Vcl::Imaging::Pngimage::TPngImage* PngImg = {read=FPngImg, write=SetPngImg};
	__property PopupMenu;
	__property ShowHint;
	__property Visible = {default=1};
	__property OnClick;
	__property OnContextPopup;
	__property OnMouseDown;
	__property OnMouseUp;
	__property OnMouseMove;
	__property System::Classes::TNotifyEvent OnMouseEnter = {read=FOnMouseEnter, write=FOnMouseEnter};
	__property System::Classes::TNotifyEvent OnMouseLeave = {read=FOnMouseLeave, write=FOnMouseLeave};
};


//-- var, const, procedure ---------------------------------------------------
extern PACKAGE void __fastcall Register(void);

}	/* namespace Pngbutton */
#if !defined(DELPHIHEADER_NO_IMPLICIT_NAMESPACE_USE) && !defined(NO_USING_NAMESPACE_PNGBUTTON)
using namespace Pngbutton;
#endif
#pragma pack(pop)
#pragma option pop

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