#ifndef __SelDirDialog_H__
#define __SelDirDialog_H__

//	復帰された値はこのクラスのインスタンスの破棄と同時に消滅するので注意！！

#include <shlobj.h>

//	古いPlatformSDK (2003 Febとか）では無いようだ・・・。
#ifndef BIF_NEWDIALOGSTYLE
	#define BIF_NEWDIALOGSTYLE 0x0040 
	#define BIF_BROWSEINCLUDEURLS 0x0080 
	#define BIF_SHAREABLE 0x8000 
	#define BIF_USENEWUI BIF_NEWDIALOGSTYLE | BIF_EDITBOX
#endif//BIF_NEWDIALOGSTYLE

#ifndef BIF_NONEWFOLDERBUTTON
	#define BIF_NONEWFOLDERBUTTON 0x0200
#endif//BIF_NONEWFOLDERBUTTON

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

//	クラス宣言
class CSelDirDialog
{
private:
	char szSelectedDir[MAX_PATH+1];

public:
	//	コンストラクタ・デストラクタ
	CSelDirDialog(){}
	virtual ~CSelDirDialog(){}

	const char* DoModal( HWND hWnd, const char* szTitle, const char* szInitDir="", DWORD dwFlags=BIF_USENEWUI|BIF_NONEWFOLDERBUTTON );
	const char* DoModeress( const char* szTitle, const char* szInitDir="", DWORD dwFlags=BIF_USENEWUI|BIF_NONEWFOLDERBUTTON ){
		return DoModal( NULL, szTitle, szInitDir, dwFlags ); }
};

typedef CSelDirDialog CSelDirDlg;

const char* OpenSelDirDialog( HWND hWnd=NULL, const char* szTitle="参照", const char* szInitDir="", DWORD dwFlags=BIF_USENEWUI|BIF_NONEWFOLDERBUTTON );

#endif//__SelDirDialog_H__
