| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143 | #ifndef UITreeView_h__#define UITreeView_h__#include <vector>using namespace std;#pragma oncenamespace DuiLib{	class CTreeViewUI;	class CCheckBoxUI;	class CLabelUI;	class COptionUI;	class UILIB_API CTreeNodeUI : public CListContainerElementUI	{	public:		CTreeNodeUI(CTreeNodeUI* _ParentNode = NULL);		~CTreeNodeUI(void);	public:		LPCTSTR GetClass() const;		LPVOID	GetInterface(LPCTSTR pstrName);		void	DoEvent(TEventUI& event);		void	Invalidate();		bool	Select(bool bSelect = true, bool bTriggerEvent=true);		bool	Add(CControlUI* _pTreeNodeUI);		bool	AddAt(CControlUI* pControl, int iIndex);		bool	Remove(CControlUI* pControl);		void	SetVisibleTag(bool _IsVisible);		bool	GetVisibleTag();		void	SetItemText(LPCTSTR pstrValue);		CDuiString	GetItemText();		void	CheckBoxSelected(bool _Selected);		bool	IsCheckBoxSelected() const;		bool	IsHasChild() const;		long	GetTreeLevel() const;		bool	AddChildNode(CTreeNodeUI* _pTreeNodeUI);		bool	RemoveAt(CTreeNodeUI* _pTreeNodeUI);		void	SetParentNode(CTreeNodeUI* _pParentTreeNode);		CTreeNodeUI* GetParentNode();		long	GetCountChild();		void	SetTreeView(CTreeViewUI* _CTreeViewUI);		CTreeViewUI* GetTreeView();		CTreeNodeUI* GetChildNode(int _nIndex);		void	SetVisibleFolderBtn(bool _IsVisibled);		bool	GetVisibleFolderBtn();		void	SetVisibleCheckBtn(bool _IsVisibled);		bool	GetVisibleCheckBtn();		void	SetItemTextColor(DWORD _dwItemTextColor);		DWORD	GetItemTextColor() const;		void	SetItemHotTextColor(DWORD _dwItemHotTextColor);		DWORD	GetItemHotTextColor() const;		void	SetSelItemTextColor(DWORD _dwSelItemTextColor);		DWORD	GetSelItemTextColor() const;		void	SetSelItemHotTextColor(DWORD _dwSelHotItemTextColor);		DWORD	GetSelItemHotTextColor() const;		void	SetAttribute(LPCTSTR pstrName, LPCTSTR pstrValue);		CStdPtrArray GetTreeNodes();		int			 GetTreeIndex();		int			 GetNodeIndex();	private:		CTreeNodeUI* GetLastNode();		CTreeNodeUI* CalLocation(CTreeNodeUI* _pTreeNodeUI);	public:		CHorizontalLayoutUI*	GetTreeNodeHoriznotal() const {return pHoriz;};		CCheckBoxUI*			GetFolderButton() const {return pFolderButton;};		CLabelUI*				GetDottedLine() const {return pDottedLine;};		CCheckBoxUI*			GetCheckBox() const {return pCheckBox;};		COptionUI*				GetItemButton() const {return pItemButton;};	private:		long	m_iTreeLavel;		bool	m_bIsVisable;		bool	m_bIsCheckBox;		DWORD	m_dwItemTextColor;		DWORD	m_dwItemHotTextColor;		DWORD	m_dwSelItemTextColor;		DWORD	m_dwSelItemHotTextColor;		CTreeViewUI*			pTreeView;		CHorizontalLayoutUI*	pHoriz;		CCheckBoxUI*			pFolderButton;		CLabelUI*				pDottedLine;		CCheckBoxUI*			pCheckBox;		COptionUI*				pItemButton;		CTreeNodeUI*			pParentTreeNode;		CStdPtrArray			mTreeNodes;	};	class UILIB_API CTreeViewUI : public CListUI,public INotifyUI	{	public:		CTreeViewUI(void);		~CTreeViewUI(void);	public:		virtual LPCTSTR GetClass() const;		virtual LPVOID	GetInterface(LPCTSTR pstrName);		virtual bool Add(CTreeNodeUI* pControl );		virtual long AddAt(CTreeNodeUI* pControl, int iIndex );		virtual bool AddAt(CTreeNodeUI* pControl,CTreeNodeUI* _IndexNode);		virtual bool Remove(CTreeNodeUI* pControl);		virtual bool RemoveAt(int iIndex);		virtual void RemoveAll();		virtual bool OnCheckBoxChanged(void* param);		virtual bool OnFolderChanged(void* param);		virtual bool OnDBClickItem(void* param);		virtual bool SetItemCheckBox(bool _Selected,CTreeNodeUI* _TreeNode = NULL);		virtual void SetItemExpand(bool _Expanded,CTreeNodeUI* _TreeNode = NULL);		virtual void Notify(TNotifyUI& msg);		virtual void SetVisibleFolderBtn(bool _IsVisibled);		virtual bool GetVisibleFolderBtn();		virtual void SetVisibleCheckBtn(bool _IsVisibled);		virtual bool GetVisibleCheckBtn();		virtual void SetItemMinWidth(UINT _ItemMinWidth);		virtual UINT GetItemMinWidth();		virtual void SetItemTextColor(DWORD _dwItemTextColor);		virtual void SetItemHotTextColor(DWORD _dwItemHotTextColor);		virtual void SetSelItemTextColor(DWORD _dwSelItemTextColor);		virtual void SetSelItemHotTextColor(DWORD _dwSelHotItemTextColor);		virtual CDuiString GetItemText (int iIndex) const;				virtual void SetAttribute(LPCTSTR pstrName, LPCTSTR pstrValue);	private:		UINT m_uItemMinWidth;		bool m_bVisibleFolderBtn;		bool m_bVisibleCheckBtn;	};}#endif 
 |