天天看點

選擇檔案、選擇目錄

//選擇檔案框

void selectFile()

{

CString strSelectedFile;

char szFileFilter[] = "文本檔案|*.txt|源代碼檔案|*.c;*.cpp|所有檔案|*.*|";

CFileDialog FileDialogBox(TRUE,NULL,"",OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,szFileFilter,this);

if ( FileDialogBox.DoModal()==IDOK )

{

strSelectedFile = FileDialogBox.GetPathName();

AfxMessageBox("你選擇了檔案:"+strSelectedFile);

}

}

//選擇目錄框

void selectDirectory()

{

char szDir[MAX_PATH]={0};

BROWSEINFO bi={0};

bi.hwndOwner = this->m_hWnd;

bi.pidlRoot = NULL;

bi.pszDisplayName = szDir;

bi.lpszTitle = "請選擇目錄";

bi.ulFlags = BIF_RETURNONLYFSDIRS;

bi.lpfn = NULL;

bi.lParam = 0;

bi.iImage = 0;

ITEMIDLIST* pidl = SHBrowseForFolder(&bi);

if ( pidl == NULL )

{

return;

}

if ( SHGetPathFromIDList(pidl, szDir) )

{

AfxMessageBox("你選擇了目錄:"+szDir);

}

}