//---------------------------------------------------------------------------

#ifndef RadioBtnH
#define RadioBtnH
//---------------------------------------------------------------------------
#include <System.SysUtils.hpp>
#include <System.Classes.hpp>
#include <Vcl.Controls.hpp>
#include <Vcl.ExtCtrls.hpp>
//---------------------------------------------------------------------------
class PACKAGE TRadioBtn :public TPanel {

private:

	bool FChecked;
	bool FEnabled;
	String FCaption;
	void __fastcall SetCaption(String FCaptionTmp);
	void __fastcall SetFont(TFont *FFontTmp);
	void __fastcall SetChecked(bool bChecked);
	void __fastcall SetEnabled(bool bEnabled);


	TLabel       *m_lbCaption;
	TRadioButton *m_pRaBtn;

    void __fastcall Onclicked(TObject *Sender);
	void __fastcall SetCheckedSameparent(TWinControl* pCtrl);
	void __fastcall SetChildBounds();
	COLORREF __fastcall TransformColor(COLORREF icolor, int nNum, bool bplus=true);

	void __fastcall MouseMoveEvent(System::TObject* Sender, System::Classes::TShiftState Shift, int X, int Y);

	virtual void __fastcall CreateWnd();
	virtual void __fastcall CreateParams(Controls::TCreateParams &Params);
	virtual void __fastcall Paint(void);

	DYNAMIC void __fastcall Click(void);
	MESSAGE void __fastcall WMSize(Winapi::Messages::TWMSize &Message);
	BEGIN_MESSAGE_MAP
		MESSAGE_HANDLER(WM_SIZE, TWMSize, WMSize)
	END_MESSAGE_MAP( TPanel )

public:

	__fastcall TRadioBtn(System::Classes::TComponent* AOwner);
	__fastcall ~TRadioBtn(void);

__published:
	__property Font = {write=SetFont};
	__property String Caption = {read=FCaption, write=SetCaption};
	__property bool Checked = {read=FChecked, write=SetChecked, default=false};
	__property bool Enabled = {read=FEnabled, write=SetEnabled, default=true};
};
#endif
