www.pudn.com > MFCVista.rar > ItreeCtrl.h
#pragma once
#include "Iontrlpos.h"
class AFX_EXT_CLASS CITreeCtrl : public CTreeCtrl,public CIontrlPos
{
protected:
DECLARE_DYNAMIC(CITreeCtrl)
DECLARE_MESSAGE_MAP()
public:
CITreeCtrl();
virtual ~CITreeCtrl();
protected:
int m_iImageWidth,
m_iImageHeight;
CImageList m_imgTree;
CString m_strDesktopDir;//不包含strDesktopName
CString m_strDesktopName;
CBitmap m_bmpTree,
m_bmpBtn;
CPen m_penItemLine;
protected:
afx_msg void OnRButtonDown(UINT nFlags, CPoint point);
afx_msg BOOL OnEraseBkgnd(CDC* pDC);
afx_msg void OnPaint();
afx_msg void OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
afx_msg void OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
afx_msg BOOL OnMouseWheel(UINT nFlags, short zDelta, CPoint pt);
public:
afx_msg void OnTvnItemexpanded(NMHDR *pNMHDR, LRESULT *pResult);
protected:
virtual void ItemExpanded(LPNMTREEVIEW pNMTreeView);
virtual void RightButtonDown(UINT nFlags, CPoint point);
protected:
virtual void SetAttributeDC(CDC *pDC,HTREEITEM hItemAttribute);
virtual void TextOut(CDC *pDC,CRect &amt;rctItem,HTREEITEM hCurItem,const CString &amt;strItemText);
virtual void DrawItemImage(CDC *pDC,CRect &amt;rctItem,HTREEITEM hCurItem,CImageList &amt;imgTree);
virtual void DrawFocus(CDC *pDC,HTREEITEM hCurItem,CRect &amt;rctItem);
virtual void DrawButton(CDC *pDC,CRect &amt;rctItem,HTREEITEM hCurItem);
virtual void DrawItemLine(CDC *pDC,CRect &amt;rctItem,HTREEITEM hCurItem);
virtual void DrawBackGround(CDC *pDC,CRect &amt;rctCli);
public://文件树
HTREEITEM GetRoot(HTREEITEM);
HTREEITEM FindItem(HTREEITEM hStarttItem,const CString &amt;strFindItem);
void FindFileToTree(CTreeCtrl *TreeCtrl,const CString &amt;path,HTREEITEM hUnused=0);
void FindFileToTree(const CString &amt;path,HTREEITEM hParentItem=0);
CString GetPathFromTree();
CString GetPathFromTree(HTREEITEM hItem);
CString GetPathFromTree(HTREEITEM hItem,HTREEITEM hStartItem);
int GetTreeDeep(HTREEITEM hItem);//得到树的深度
CString GetDesktopFileDir();
void SetAtt(UINT bmpIconList,UINT bmpTreeNode,COLORREF clrMask=RGB(255,0,255),int iIconWidth=18,int iIconHeight=18);
bool IsExpandedItem(HTREEITEM hTestItem);
BOOL ItemHasButton(HTREEITEM hTestItem);
public://属性
CString GetDesktopName();
CBitmap &amt;GetBtnImage();
int GetImageWidth();
};