?? umshelltree.h
字號:
/**********************************************************************
*
* Name: UmShellTree.h
* Project: UMUIStatic
* Purpose: ShellTree operations
* Author: Daqiang Yang
*
**********************************************************************
* Copyright (c) 2005-2006, Daqiang Yang
*
* Note:
*
* Based on the source codes of Selom Ofori (version 1.2)
*
**********************************************************************/
#ifndef _UM_SHELLTREE_H_
#define _UM_SHELLTREE_H_
#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000
#include <shlobj.h>
#include "UmFileName.h"
#include "UmShellPidl.h"
class CUmShellTree : public CTreeCtrl, public CUmShellPidl
{
public:
enum FindAttribs{type_drive,type_folder};
// Construction
public:
CUmShellTree();
// 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(CUmShellTree)
//}}AFX_VIRTUAL
// Implementation
public:
virtual ~CUmShellTree();
// 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(CUmShellTree)
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
/////////////////////////////////////////////////////////////////////////////
//{{AFX_INSERT_LOCATION}}
// Microsoft Developer Studio will insert additional declarations immediately before the previous line.
#endif // _UM_SHELLTREE_H_
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -