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

📄 itsimplefindfiles.h

📁 完整的MP3播放器源码
💻 H
字号:
/////////////////////////////////////////////////////////////////////////////

/////////////////////////////////////////////////////////////////////////////
//
// $NoKeywords: $

#ifndef ITSIMPLEFINDFILES_INCLUDED
#define ITSIMPLEFINDFILES_INCLUDED

/////////////////////////////////////////////////////////////////////////////
// ITCSimpleFindFiles
//
// @doc INTERNAL UTILITY
//
// @class The <c ITCSimpleFindFiles> is a private class used by <c ITCFindFiles>.
// This class allows you to search a single folder for a file or a set of files.
//
// @base public | <c CObject>
//
// @ex The following example shows how you could search for all the
// subfolders in the root folder.|
//
// ITCFindFiles find;
// 
// find.NewSearch("C:\\", "*.*", FILE_ATTRIBUTE_DIRECTORY);
// 
// while (find.NextFile())
// {
//     TRACE("%s\n", find.GetFilePath());
// }
// 
// @author Lance Lovette |

class ITCSimpleFindFiles : public CObject
{
	DECLARE_DYNAMIC(ITCSimpleFindFiles)

// Data constants
public:
	static DWORD AllAttributes; // Use with NewSearch.
	static DWORD DefaultAttributes; // Use with NewSearch.
	static DWORD FilesOnly; // Use with NewSearch.
	static DWORD FoldersOnly; // Use with NewSearch.

// @access Construction
public:
	// @cmember Constructs a <c ITCSimpleFindFiles> object.
	ITCSimpleFindFiles();

	void NewSearch(CString strPattern,
		DWORD dwFindAttributes);
	void NewSearch(CString strFolder, CString strPattern,
		DWORD dwFindAttributes);
	void NewSearch(HDROP hDropInfo,
		DWORD dwFindAttributes);
	void NewSearch(const ITCSimpleFindFiles& rFind);

// Attributes
public:
	DWORD GetFileAttributes() const;
	CString GetFileExt() const;
	CString GetFileFolder() const;
	LPCTSTR GetFileName() const;
	CString GetFilePath() const;
	CString GetFileTitle() const;
	void GetFindAttributes(DWORD& dwAttribSet, DWORD& dwAttribClear) const;
	void SetFindAttributes(DWORD dwAttribSet, DWORD dwAttribClear);
	const WIN32_FIND_DATA* GetFindData() const;
	CString GetFindFileName() const;
	CString GetFindPattern() const;
	DWORD GetLength() const;
	CString GetRoot() const;
	DWORD GetUserData() const;
	BOOL HasFileAttributes(DWORD dwFileAttributes) const;
	BOOL IsSpecialFolder() const;
	void SetUserData(DWORD dwUserData);
	BOOL IsDroppedFiles() const;
	CString GetTypeName() const;
	DWORD SHGetFileInfo(DWORD dwFileAttributes,
		SHFILEINFO FAR *psfi, UINT uFlags) const;

// Operations
public:
	virtual void Close();
	virtual BOOL NextFile();

// Overridables
public:
	virtual BOOL OnFilterFile() const;

// Implementation
public:
	virtual ~ITCSimpleFindFiles();

#ifdef _DEBUG
	virtual void AssertValid() const;
	virtual void Dump(CDumpContext& dc) const;
#endif

protected:
	UINT m_uDropIndex; // Used with m_hDropInfo
	UINT m_uMaxDropIndex; // Used with m_hDropInfo
	DWORD m_dwUserData;
	DWORD m_dwFindAttribSet; // Must be set to match
	DWORD m_dwFindAttribClear; // Must be clear to match
	HDROP m_hDropInfo;
	HANDLE m_hFindFile;
	CString m_strFindRoot;
	CString m_strFindPattern;
	CString m_strDropFilePath; // Used with m_hDropInfo
	WIN32_FIND_DATA m_findData;

	void CommonConstruct();

	virtual BOOL NextFindFile();
	virtual BOOL NextDropFile();
	virtual BOOL DragQueryFile();
};

//
// @xref <c ITCFindFiles>

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

#endif // ITSIMPLEFINDFILES_INCLUDED

⌨️ 快捷键说明

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