⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 filetreectrl.h

📁 版本更新了一下
💻 H
📖 第 1 页 / 共 2 页
字号:
  void              SetAllowDelete(BOOL bAllowDelete) { m_bAllowDelete = bAllowDelete; };
  BOOL              GetAllowDelete() const { return m_bAllowDelete; };
  void              SetFlags(DWORD dwFlags);
  void              SetDriveHideFlags(DWORD dwDriveHideFlags);
  DWORD             GetDriveHideFlags() const { return m_dwDriveHideFlags; };
  void              SetFileHideFlags(DWORD dwFileHideFlags);
  DWORD             GetFileHideFlags() const { return m_dwFileHideFlags; };
  void              SetFileNameMask(const CString& sFileNameMask);
  CString           GetFileNameMask() const { return m_sFileNameMask; };
  BOOL              GetChecked(HTREEITEM hItem) const;
  BOOL              SetChecked(HTREEITEM hItem, BOOL fCheck);
  void              SetNetworkItemTypes(DWORD dwTypes); 
  DWORD             GetNetworkItemTypes() const { return m_dwNetworkItemTypes; };
  void              SetShowDriveLabels(BOOL bShowDriveLabels); 
  BOOL              GetShowDriveLabels() const { return m_bShowDriveLabels; };
  COLORREF          GetCompressedColor() const { return m_rgbCompressed; };
  void              SetCompressedColor(COLORREF rgbCompressed);
  BOOL              GetUsingDifferentColorForCompressed() const { return m_bShowCompressedUsingDifferentColor; };
  void              SetUsingDifferentColorForCompressed(BOOL bShowCompressedUsingDifferentColor);
  COLORREF          GetEncryptedColor() const { return m_rgbEncrypted; };
  void              SetEncryptedColor(COLORREF rgbEncrypted);
  BOOL              GetUsingDifferentColorForEncrypted() const { return m_bShowEncryptedUsingDifferentColor; };
  void              SetUsingDifferentColorForEncrypted(BOOL bShowEncryptedUsingDifferentColor);
  HideFileExtension GetShowFileExtensions() const { return m_FileExtensions; };
  void              SetShowFileExtensions(HideFileExtension FileExtensions);
  BOOL              GetShowMyComputer() const { return m_bShowMyComputer; };
  void              SetShowMyComputer(BOOL bShowMyComputer);
  BOOL              GetShowRootedFolder() const { return m_bShowRootedFolder; };
  void              SetShowRootedFolder(BOOL bShowRootedFolder);
  void              SetAutoRefresh(BOOL bAutoRefresh);
  BOOL              GetAutoRefresh() const { return m_bAutoRefresh; };
  virtual CString   ItemToPath(HTREEITEM hItem) const;
  virtual HTREEITEM PathToItem(const CString& sPath) const;
  virtual BOOL      IsFile(HTREEITEM hItem);
  virtual BOOL      IsFolder(HTREEITEM hItem);
  virtual BOOL      IsDrive(HTREEITEM hItem);
  virtual BOOL      IsCompressed(HTREEITEM hItem);
  virtual BOOL      IsEncrypted(HTREEITEM hItem);
  virtual BOOL      IsShared(const CString& sPath);
  virtual BOOL      IsFile(const CString& sPath);
  virtual BOOL      IsFolder(const CString& sPath);
  virtual BOOL      IsDrive(const CString& sPath);
  virtual BOOL      IsCompressed(const CString& sPath);
  virtual BOOL      IsEncrypted(const CString& sPath);
  virtual BOOL      Rename(HTREEITEM hItem);
  virtual BOOL      ShowProperties(HTREEITEM hItem);
  virtual BOOL      Delete(HTREEITEM hItem);
  virtual BOOL      Open(HTREEITEM hItem);
  virtual void      PopulateTree(); 
  virtual void      UpOneLevel();
  virtual void      Refresh();
  virtual BOOL      GoBack();
  virtual BOOL      CanGoBack() const { return m_PrevItems.GetSize() != 0; };
  virtual BOOL      GoForward();
  virtual BOOL      CanGoForward() const { return m_NextItems.GetSize() != 0; };
  virtual int       GetMaxHistory() const { return m_nMaxHistory; };
  virtual void      SetMaxHistory(int nMaxHistory);
  int               GetBackSize() const;
  CString           GetBackItemText(int nBack) const;
  int               GetForwardSize() const;
  CString           GetForwardItemText(int nForward) const;
  void              CollapseExpandBranch(HTREEITEM hti, int nAction);
  void              Collapseall();
  void              Expandall();
  void              Clear();

//Debug / Assert help
#ifdef _DEBUG
	virtual void AssertValid() const;
	virtual void Dump(CDumpContext& dc) const;
#endif

protected:
	//{{AFX_MSG(CTreeFileCtrl)
	afx_msg void OnProperties();
	afx_msg void OnUpdateProperties(CCmdUI* pCmdUI);
	afx_msg void OnRename();
	afx_msg void OnUpdateRename(CCmdUI* pCmdUI);
	afx_msg void OnOpen();
	afx_msg void OnUpdateOpen(CCmdUI* pCmdUI);
	afx_msg void OnDelete();
	afx_msg void OnUpdateDelete(CCmdUI* pCmdUI);
	afx_msg void OnRefresh();
  afx_msg void OnUpOneLevel();
  afx_msg void OnUpdateUpOneLevel(CCmdUI* pCmdUI);
	afx_msg void OnContextMenu(CWnd* pWnd, CPoint point);
	afx_msg void OnInitMenuPopup(CMenu* pPopupMenu, UINT nIndex, BOOL bSysMenu);
	afx_msg void OnMouseMove(UINT nFlags, CPoint point);
	afx_msg void OnLButtonUp(UINT nFlags, CPoint point);
	afx_msg void OnTimer(UINT_PTR nIDEvent);
	afx_msg void OnBack();
	afx_msg void OnUpdateBack(CCmdUI* pCmdUI);
	afx_msg void OnForward();
	afx_msg void OnUpdateForward(CCmdUI* pCmdUI);
	afx_msg void OnDestroy();
	//}}AFX_MSG
	afx_msg BOOL OnDblclk(NMHDR* pNMHDR, LRESULT* pResult);
	afx_msg BOOL OnItemExpanding(NMHDR* pNMHDR, LRESULT* pResult);
	afx_msg BOOL OnBeginLabelEdit(NMHDR* pNMHDR, LRESULT* pResult);
	afx_msg BOOL OnEndLabelEdit(NMHDR* pNMHDR, LRESULT* pResult);
	afx_msg BOOL OnRclick(NMHDR* pNMHDR, LRESULT* pResult);
	afx_msg BOOL OnBeginDrag(NMHDR* pNMHDR, LRESULT* pResult);
  afx_msg BOOL OnCustomDraw(NMHDR* pNMHDR, LRESULT* pResult);
 	afx_msg BOOL OnSelChanged(NMHDR* pNMHDR, LRESULT* pResult);
  afx_msg BOOL OnDeleteItem(NMHDR* pNMHDR, LRESULT* pResult);
  afx_msg LRESULT OnChange(WPARAM wParam, LPARAM lParam);

	DECLARE_MESSAGE_MAP()

  DECLARE_DYNCREATE(CTreeFileCtrl)

	//{{AFX_VIRTUAL(CTreeFileCtrl)
	virtual BOOL PreTranslateMessage(MSG* pMsg);
	virtual void PreSubclassWindow();
	//}}AFX_VIRTUAL

//Methods
  virtual void      DisplayPath(const CString& sPath, HTREEITEM hParent, BOOL bUseSetRedraw=TRUE);
  virtual void      DisplayDrives(HTREEITEM hParent, BOOL bUseSetRedraw=TRUE);
  virtual int       GetIconIndex(const CString& sFilename);
  virtual int       GetIconIndex(HTREEITEM hItem);
  virtual int       GetSelIconIndex(const CString& sFilename);
  virtual int       GetSelIconIndex(HTREEITEM hItem);
  virtual int       GetIconIndex(LPITEMIDLIST lpPIDL);
  virtual int       GetSelIconIndex(LPITEMIDLIST lpPIDL);
  virtual BOOL      HasGotSubEntries(const CString& sDirectory);
  virtual BOOL      HasChildWithText(HTREEITEM hParent, const CString& sText);
  virtual HTREEITEM InsertFileItem(HTREEITEM hParent, CTreeFileCtrlItemInfo* pItem, BOOL bShared, int nIcon, int nSelIcon, BOOL bCheckForChildren);
  virtual HTREEITEM FindSibling(HTREEITEM hParent, const CString& sItem) const;
  virtual BOOL      DriveHasRemovableMedia(const CString& sPath);
  virtual BOOL      IsDropSource(HTREEITEM hItem);
  BOOL              IsDragging();
  BOOL              IsExpanded(HTREEITEM hItem);
  virtual HTREEITEM GetDropTarget(HTREEITEM hItem);
  void              EndDragging(BOOL bCancel);
  virtual HTREEITEM CopyItem(HTREEITEM hItem, HTREEITEM htiNewParent, HTREEITEM htiAfter = TVI_LAST);
  virtual HTREEITEM CopyBranch(HTREEITEM htiBranch, HTREEITEM htiNewParent, HTREEITEM htiAfter = TVI_LAST);
  virtual BOOL      CanDisplayFile(const CFileFind& find);
  virtual BOOL      CanDisplayFolder(const CFileFind& find);
  virtual BOOL      CanDisplayDrive(const CString& sDrive);
  virtual BOOL      CanDisplayNetworkItem(CTreeFileCtrlItemInfo* pItem);
  virtual BOOL      CanHandleChangeNotifications(const CString& sPath);
  static int        CompareByFilenameNoCase(CString& element1, CString& element2);
  virtual void      CreateMonitoringThread(const CString& sPath);
  static UINT       MonitoringThread(LPVOID pParam);
  virtual void      KillNotificationThreads();
  virtual void      KillNotificationThread(const CString& sPath);
  virtual BOOL      GetSerialNumber(const CString& sDrive, DWORD& dwSerialNumber);
  virtual BOOL      IsMediaValid(const CString& sDrive);
  virtual int       NumberOfChildItems(HTREEITEM hItem);
  virtual int       DeleteChildren(HTREEITEM hItem, BOOL bUpdateChildIndicator);
  virtual void      OnSelectionChanged(NM_TREEVIEW*, const CString&);
  virtual BOOL      EnumNetwork(HTREEITEM hParent);
  virtual CString   GetDriveLabel(const CString& sDrive);
  CString           GetCorrectedLabel(CTreeFileCtrlItemInfo* pItem);
  HTREEITEM         FindServersNode(HTREEITEM hFindFrom) const;
  BOOL              HasPlusButton(HTREEITEM hItem);
  void              SetHasPlusButton(HTREEITEM hItem, BOOL bHavePlus);
  void              DoExpand(HTREEITEM hItem);


//Member variables
  CImageList                                                  m_ilNetwork;          //The image list to use for network items
  CString                                                     m_sRootFolder;
  BOOL                                                        m_bShowFiles;
  HTREEITEM                                                   m_hItemDrag;
  HTREEITEM                                                   m_hItemDrop;
  HTREEITEM                                                   m_hNetworkRoot;
  HTREEITEM                                                   m_hMyComputerRoot;
  HTREEITEM                                                   m_hRootedFolder;
  BOOL                                                        m_bShowMyComputer;
  CImageList*                                                 m_pilDrag;
  UINT                                                        m_nTimerID;
  HCURSOR                                                     m_DropCopyCursor;
  HCURSOR                                                     m_NoDropCopyCursor;
  HCURSOR                                                     m_DropMoveCursor;
  HCURSOR                                                     m_NoDropMoveCursor;
  UINT                                                        m_TimerTicks;
  BOOL                                                        m_bAllowDragDrop;
  BOOL                                                        m_bAllowRename;
  BOOL                                                        m_bAllowOpen;
  BOOL                                                        m_bAllowProperties;
  BOOL                                                        m_bAllowDelete;
  DWORD                                                       m_dwDriveHideFlags;
  DWORD                                                       m_dwFileHideFlags;
  CString                                                     m_sFileNameMask;
  COLORREF                                                    m_rgbCompressed;
  BOOL                                                        m_bShowCompressedUsingDifferentColor;  
  COLORREF                                                    m_rgbEncrypted;
  BOOL                                                        m_bShowEncryptedUsingDifferentColor;  
  CArray<LPVOID, LPVOID>                                      m_PrevItems;
  CArray<LPVOID, LPVOID>                                      m_NextItems;
  int                                                         m_nMaxHistory;            
  BOOL                                                        m_bUpdatingHistorySelection;
  CArray<CTreeFileCtrlThreadInfo*, CTreeFileCtrlThreadInfo*&> m_ThreadInfo;
  CEvent                                                      m_TerminateEvent;
  BOOL                                                        m_bAutoRefresh;
  BOOL                                                        m_bDisplayNetwork;
  BOOL                                                        m_bShowSharedUsingDifferentIcon;
  HideFileExtension                                           m_FileExtensions;
  DWORD                                                       m_dwMediaID[26];
  IMalloc*                                                    m_pMalloc; 
  IShellFolder*                                               m_pShellFolder;
  DWORD                                                       m_dwNetworkItemTypes;
  BOOL                                                        m_bShowDriveLabels;
  BOOL                                                        m_bShowRootedFolder;
};



//MFC Data exchange routines

void DDX_FileTreeValue(CDataExchange* pDX, CTreeFileCtrl& ctrlFileTree, CString& sItem);



#endif //__FILETREECTRL_H__

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -