#ifndef _NNTP_OPENDIRECTORY_HPP_ #define _NNTP_OPENDIRECTORY_HPP_ #ifndef _COMMON_OPENDIALOG_HPP_ #include #endif #ifndef _HOOKPROC_OFNHOOK_HPP_ #include #endif class OpenDirectory : private OpenDialog, private OFNHook { public: OpenDirectory(void); virtual ~OpenDirectory(); bool getOpenDirectory(GUIWindow &parentWindow,const String &titleString,const String &strInitialDirectory,String &strDirectory); protected: virtual UINT hookProc(HWND hDlg,UINT uiMsg,WPARAM wParam,LPARAM lParam); virtual UINT handleInitDone(void); virtual UINT handleSelChange(void); virtual UINT handleFolderChange(void); virtual UINT handleShareViolation(void); virtual UINT handleFileOk(void); virtual UINT handleHelp(void); virtual UINT handleTypeChange(void); bool getPathFileName(String &strPathFileName); bool getFileName(String &strFileName); bool getFolderPath(String &strFolderPath); bool hideControl(UINT controlID); bool setDefaultExtension(const String &strDefaultExtension); bool getControlText(UINT controlID,String &strControlText)const; bool setControlText(UINT controlID,const String &strControlText)const; private: enum{FileNameEditControlID=0x480}; enum{MaxString=256}; OpenDirectory(const OpenDirectory &someOpenDirectory); OpenDirectory &operator=(const OpenDirectory &someOpenDirectory); String mLastFolderChange; }; #endif