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

📄 shelllistctrl.h

📁 类似 windows explorer的工具
💻 H
字号:
///////////////////////////////////////////////////////////////////////////////
// Copyright (C), 2003, iSoft Tech. Co., Ltd.
// FileName: ShellListCtrl.h : header file
// Description:
//     从 CListCtrl 继承一个类,显示文件
// Note:
// Function List:
// History:
// <author>   <time>      <version> <desc>
// TrueZq     2004-01-14   1.0      build this moudle  
///////////////////////////////////////////////////////////////////////////////
#if !defined(AFX_SHELLLISTCTRL_H__A4DF1DDD_E882_4169_8340_54CB18ADAE26__INCLUDED_)
#define AFX_SHELLLISTCTRL_H__A4DF1DDD_E882_4169_8340_54CB18ADAE26__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

/////////////////////////////////////////////////////////////////////////////
// CShellListCtrl window
//#include "ShellContextMenu.h"
//#include "ShellTreeCtrl.h"
//#include "DragList.h"
#include "Common\SortListCtrl.h"

//class CShellListCtrl : public CListCtrl
//class CShellListCtrl : public CDragList

// 要改变 CShellListCtrl 的基类,只需要改变 CShellListCtrl_BaseClass 定义
#define CShellListCtrl_BaseClass CSortListCtrl
// CShellListCtrl_BaseClass is a macro
class CShellListCtrl : public CShellListCtrl_BaseClass
{
    // Construction
public:
    //CShellListCtrl(SDesktopFolderPtr& pFolder);
    CShellListCtrl();
    virtual ~CShellListCtrl();
    
    // Attributes
private:
    BOOL m_bIsUDisk; // TRUE:优盘 FALSE:非优盘,全部显示
public:
    // U盘标记设置
    void SetUDiskTag(BOOL bIsUDisk)
    {
        m_bIsUDisk = bIsUDisk;
    }
    void DoubleClickList(int nItem);

public:
    SDesktopFolderPtr& m_pDesktopFolder;
    
    // Operations
public:
    // 缺省列举文件夹、文件、及隐藏对象
    BOOL EnumFolderItems(LPSHELLFOLDER pParentFolder,
        LPCITEMIDLIST pidlParent, UINT nFlags = STCF_INCLUDEALL);
    
    void InsertLVITEM(BOOL bMyComputer, LPSHELLFOLDER pParentFolder, 
        LPCITEMIDLIST pidlParent, LPCITEMIDLIST pidl, UINT nFlags);
    
    void FillSubItem(LPSHELLFOLDER pParentFolder,CShellPidl& pidlAbs, LVITEM& item, UINT nFlags);
    
    BOOL IsFolder(int nItem);
    BOOL IsShortcut(int nItem);
    
    // Overrides
    // ClassWizard generated virtual function overrides
    //{{AFX_VIRTUAL(CShellListCtrl)
    //}}AFX_VIRTUAL
    
    // Implementation
public:
	//BOOL DeleteItem( int iItem ); // 覆盖基类的方法
	//BOOL DeleteAllItems(); // 覆盖基类的方法
	
	void InitColumns();
	CString GetCurrentPath();
    CString GetSelectedFileName();

	DWORD ChangeViewStyle(DWORD dwNewStyle);

private:
    void Empty();    
    // Generated message map functions
protected:
    //{{AFX_MSG(CShellListCtrl)
    afx_msg void OnDeleteItem(NMHDR* pNMHDR, LRESULT* pResult);
	afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
	//}}AFX_MSG
    
    DECLARE_MESSAGE_MAP()
private:
    BOOL IsType(int nItem, ULONG nFlag);
    
};

/////////////////////////////////////////////////////////////////////////////

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_SHELLLISTCTRL_H__A4DF1DDD_E882_4169_8340_54CB18ADAE26__INCLUDED_)

⌨️ 快捷键说明

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