DirTree.h
上传用户:zhenhuadz
上传日期:2007-01-07
资源大小:1511k
文件大小:2k
源码类别:

远程控制编程

开发平台:

Visual C++

  1. #if !defined(AFX_DIRTREECTRL_H__F5512005_305A_11D2_B989_00AA00AC7921__INCLUDED_)
  2. #define AFX_DIRTREECTRL_H__F5512005_305A_11D2_B989_00AA00AC7921__INCLUDED_
  3. #if _MSC_VER >= 1000
  4. #pragma once
  5. #endif // _MSC_VER >= 1000
  6. // DirTreeCtrl.h : header file
  7. //
  8. /////////////////////////////////////////////////////////////////////////////
  9. // CDirTreeCtrl window
  10. //
  11. // By Nicola Delfino 1999 delfinon@altavista.net
  12. //
  13. // 
  14. // THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. 
  15. // THE AUTHOR DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, 
  16. // INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A 
  17. // PARTICULAR PURPOSE. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 
  18. // ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, 
  19. // CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES.
  20. // 
  21. ////////////////////////////////////////////////////////////////////////////////
  22. class CDirTree : public CTreeCtrl
  23. {
  24. // Construction
  25. public:
  26. CDirTree();
  27. // Attributes
  28. public:
  29. // Operations
  30. public:
  31.     void Initialize (bool clear=true);
  32. // Overrides
  33. // ClassWizard generated virtual function overrides
  34. //{{AFX_VIRTUAL(CDirTreeCtrl)
  35. //}}AFX_VIRTUAL
  36. // Implementation
  37. public:
  38. bool SetPath (CString path);
  39. CString GetFullPath (HTREEITEM item);
  40. virtual ~CDirTree();
  41. // Generated message map functions
  42. protected:
  43. //{{AFX_MSG(CDirTree)
  44. afx_msg void OnItemexpanded(NMHDR* pNMHDR, LRESULT* pResult);
  45. afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
  46. //}}AFX_MSG
  47. DECLARE_MESSAGE_MAP()
  48. private:
  49. HTREEITEM Dir2Item(HTREEITEM current, char *dir);
  50. virtual bool MatchExtension(CString file);
  51. void RefreshTreeImages(HTREEITEM item, int img);
  52. CString GetPathFromHere (CString s, HTREEITEM itm);
  53. HTREEITEM AddItem_Core (const char *name, HTREEITEM parent, bool isDir, int icon, int iconOpen);
  54. void ExpandBranch (HTREEITEM parent);
  55. void DeleteAllChild (HTREEITEM itm,  bool isEmpty=true);
  56. HTREEITEM AddItem(const char * path, HTREEITEM parent, bool isDir=FALSE, int iconEx=-1, int iconEx2=-1);
  57. HTREEITEM m_desktop_root;
  58. CString   m_desktop_path;
  59. HTREEITEM m_drives_root;
  60. char      m_drives_name[500];
  61. CImageList m_img;
  62. };
  63. /////////////////////////////////////////////////////////////////////////////
  64. //{{AFX_INSERT_LOCATION}}
  65. // Microsoft Developer Studio will insert additional declarations immediately before the previous line.
  66. #endif // !defined(AFX_DIRTREECTRL_H__F5512005_305A_11D2_B989_00AA00AC7921__INCLUDED_)