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

#ifndef NotificationContentPanelUnitH
#define NotificationContentPanelUnitH
#include "SkinScrollBarUnit.h"
#include "NotificationExUnit.h"
#include "NotificationThreadUnit.h"
//---------------------------------------------------------------------------
typedef vector<TUrlLabel*> VCURLLABEL;

class TNotiContenPanel : public Vcl::Extctrls::TPanel
{

private:
	VCTJSONDB *m_VCJsonContent;

	vector<int>           ItemDBNameNum;   //一个名字对应的相应个数
	vector<String>        ItemDBName;      //类型名字说明
	vector<int> 		  ItemLine;        //一个item图片和文字占用的行数

	vector<TPicture*> 	  ItemPIC;
	vector<TUrlPaintBox*> ItemPICDraw;

	vector<VCURLLABEL*>   ItemLabel;       //一张图片可能对应n个文字说明

	int m_iShowLine;
	int m_iTopLine;

	TSkinScrollBar *m_ScrollBar;

	TUrlLabel* __fastcall CreateLabel(String caption, String url);
	void __fastcall CutOffLabelString();
	int  __fastcall GetLineNumber();
	void __fastcall SetShowLine();
	void __fastcall SetContent();

	virtual void __fastcall CreateWnd();
	virtual void __fastcall Paint(void);

	MESSAGE void __fastcall WMEraseBkgnd(TWMEraseBkgnd &Message);
	MESSAGE void __fastcall WMVScroll(Winapi::Messages::TWMScroll &Message);
	MESSAGE void __fastcall WMMouseWheel(TWMMouseWheel &Message);

	BEGIN_MESSAGE_MAP
		MESSAGE_HANDLER(WM_ERASEBKGND, TWMEraseBkgnd, WMEraseBkgnd)
		MESSAGE_HANDLER(WM_VSCROLL, TWMVScroll, WMVScroll)
		MESSAGE_HANDLER(WM_MOUSEWHEEL, TWMMouseWheel, WMMouseWheel)
	END_MESSAGE_MAP( Vcl::Extctrls::TPanel )

public:

	__fastcall TNotiContenPanel( TComponent* Owner, VCTJSONDB *VCJsonContent);
	__fastcall ~TNotiContenPanel();
};
//---------------------------------------------------------------------------
#endif
