voidCmfcopenfileordirectorydlg::onbnclickedbutton1 () {//Open FileCFileDialog Dlgopen (TRUE/*true to open, false to save*/, 0, 0, Ofn_hidereadonly|Ofn_filemustexist,"All Files (*. *) |*.*| |",//file FilterNULL); CharSzcurrentpath[max_path] = {0}; GetCurrentDirectory (MAX_PATH, Szcurrentpath); DlgOpen.m_ofn.lpstrInitialDir=Szcurrentpath; if(IDOK = =Dlgopen.domodal ()) {Setdlgitemtext (idc_edit1, Dlgopen.getpathname ()); }}voidCmfcopenfileordirectorydlg::onbnclickedbutton2 () {//Open Pathbrowseinfo bi; CharBuffer[max_path] = {0}; //Initialize the entry parameter bi startBi.hwndowner =NULL; Bi.pidlroot=NULL; Bi.pszdisplayname= Buffer;//The dialog box cannot be displayed if this parameter is nullBi.lpsztitle ="Open Path"; Bi.ulflags= Bif_editbox;//include fileBI.LPFN =NULL; Bi.iimage=Idr_mainframe; Lpitemidlist pidlist= SHBrowseForFolder (&BI);//invoke Display selection dialog box if(pidlist) {shgetpathfromidlist (pidlist, Buffer);//get folder path into bufferSetdlgitemtext (idc_edit1, Buffer); }}
MFC Open File/open path