www.pudn.com > source.rar > ShellTree.h
#if !defined(AFX_SHELLTREE_H__DF774B19_641D_4E47_B163_E7F6A1EA8963__INCLUDED_)
#define AFX_SHELLTREE_H__DF774B19_641D_4E47_B163_E7F6A1EA8963__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// ShellTree.h : header file
//
/////////////////////////////////////////////////////////////////////////////
// CShellTree window
class CShellList;
enum FindAttribs
{
SHELL_DRIVE = 1,
SHELL_FOLDER = 2
};
class CShellTree : public CTreeCtrl,public CShell
{
public:
// Construction
CShellTree();
// Attributes
public:
// Operations
public:
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CShellTree)
//}}AFX_VIRTUAL
// Implementation
public:
void PopulateList(HTREEITEM Item);
BOOL RootReached();
void ItemUp();
void SelectRootItem();
void Refresh();
HTREEITEM FindChild(HTREEITEM hItem,CString Path);
void FillSpecialFolders();
CString GetItemFullPath(HTREEITEM Item);
HTREEITEM FindChild(HTREEITEM hParent,CShellListItemData *pSlid);
HTREEITEM h_Desktop;
HTREEITEM h_Computer;
HTREEITEM h_SpecialFolder[26];
CString m_SpecialFolder[26];
int m_SpecialFolderCount;
HTREEITEM InsertItem(LPSHELLFOLDER pParentShellFolder, LPITEMIDLIST pParentFullIDList,LPITEMIDLIST pIDList,HTREEITEM hParent,HTREEITEM hItem);
void FillTree(LPSHELLFOLDER pParentShellFolder, LPITEMIDLIST pParentFullIDList, HTREEITEM hParent);
void BuildTree();
HTREEITEM SetSelection(CString FindPath,BOOL Check=FALSE);
void SetImageList();
CShellList * p_List;
CString GetSelectedItemFullPath();
void AssociateList(CShellList *pList);
virtual ~CShellTree();
// Generated message map functions
protected:
//{{AFX_MSG(CShellTree)
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
afx_msg void OnItemExpanding(NMHDR* pNMHDR, LRESULT* pResult);
afx_msg void OnSelChanged(NMHDR* pNMHDR, LRESULT* pResult);
afx_msg void OnDeleteItem(NMHDR* pNMHDR, LRESULT* pResult);
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
/////////////////////////////////////////////////////////////////////////////
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_SHELLTREE_H__DF774B19_641D_4E47_B163_E7F6A1EA8963__INCLUDED_)