www.pudn.com > VC写的MP3播放器源代码.zip > ITSimpleFindFiles.h
///////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// // // $NoKeywords: $ #ifndef ITSIMPLEFINDFILES_INCLUDED #define ITSIMPLEFINDFILES_INCLUDED ///////////////////////////////////////////////////////////////////////////// // ITCSimpleFindFiles // // @doc INTERNAL UTILITY // // @class Theis a private class used by . // This class allows you to search a single folder for a file or a set of files. // // @base public | // // @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 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 ///////////////////////////////////////////////////////////////////////////// #endif // ITSIMPLEFINDFILES_INCLUDED