www.pudn.com > VX.rar > ShellTree.h
#ifndef __SHELLTREE_H__ #define __SHELLTREE_H__ #if _MSC_VER >= 1000 #pragma once #endif // _MSC_VER >= 1000 // ShellTree.h : header file // #include#include "ShellPidl.h" ///////////////////////////////////////////////////////////////////////////// // CShellTree window // // This source is part of CShellTree - Selom Ofori // // Version: 1.02 (any previously unversioned copies are older/inferior // // This code is free for all to use. Mutatilate it as much as you want // See MFCENUM sample from microsoft class AFX_EXT_CLASS CShellTree : public CTreeCtrl, public CShellPidl { public: enum FindAttribs{type_drive,type_folder}; // Construction public: CShellTree(); // Attributes public: BOOL m_bOutaHere; // Operations public: void PopulateTree(); void PopulateTree(int nFolder); void OnFolderExpanding(NMHDR* pNMHDR, LRESULT* pResult); void GetContextMenu(NMHDR* pNMHDR, LRESULT* pResult); BOOL OnFolderSelected(NMHDR* pNMHDR, LRESULT* pResult, CString &szFolderPath); void OnDeleteShellItem(NMHDR* pNMHDR, LRESULT* pResult); void EnableImages(); BOOL GetSelectedFolderPath(CString &szFolderPath); bool SearchTree(HTREEITEM treeNode, CString szSearchName, FindAttribs attr); void TunnelTree(CString szFindPath); LPSHELLFOLDER GetParentShellFolder(HTREEITEM folderNode); LPITEMIDLIST GetRelativeIDLIST(HTREEITEM folderNode); LPITEMIDLIST GetFullyQualifiedID(HTREEITEM folderNode); void FindTreePidl( HTREEITEM nextNode, HTREEITEM& folderNode, LPLVITEMDATA lplvid, bool& valid); // Overrides // ClassWizard generated virtual function overrides //{{AFX_VIRTUAL(CShellTree) //}}AFX_VIRTUAL // Implementation public: virtual ~CShellTree(); // Generated message map functions protected: void FillTreeView(LPSHELLFOLDER lpsf, LPITEMIDLIST lpifq, HTREEITEM hParent); void GetNormalAndSelectedIcons(LPITEMIDLIST lpifq, LPTV_ITEM lptvitem); static int CALLBACK TreeViewCompareProc(LPARAM, LPARAM, LPARAM); //{{AFX_MSG(CShellTree) //}}AFX_MSG DECLARE_MESSAGE_MAP() }; ///////////////////////////////////////////////////////////////////////////// //{{AFX_INSERT_LOCATION}} // Microsoft Developer Studio will insert additional declarations immediately before the previous line. #endif // __SHELLTREE_H__