如果開啟瀏覽資料夾對話方塊,並且執行成功之後,程式的當前活動路徑即修改為該對話方塊選定的路徑,即如果建立相對路徑下的乙個檔案,該檔案的路徑是相對於瀏覽資料夾對話方塊選定的路徑。
browseinfo bi ;
tchar szpathname[max_path];
cstring str = l"";
cstring strdir = l"";
//選擇的目錄
tchar sztitle = _t("選擇清除路徑");
memset(&bi,0,sizeof(browseinfo));
memset(szpathname,0,max_path);
bi.hwndowner = getsafehwnd(); //獲得視窗控制代碼
bi.pszdisplayname = szpathname;
bi.lpsztitle = sztitle;
bi.ulflags = bif_editbox | bif_statustext;
lpitemidlist idl = shbrowseforfolder(&bi);
if(null == idl)
shgetpathfromidlist(idl,str.getbuffer(max_path * 2));
str.releasebuffer();
if(str != "" && str.getat(str.getlength() - 1) != '\\')
str += '\\';
strdir = str;
browseinfo結構體儲存了使用者選擇目錄的重要資訊。
typedef struct _browseinfow browseinfow, *pbrowseinfow, *lpbrowseinfow;
瀏覽資料夾對話方塊的使用
新建乙個基於對話方塊的mfc應用程式browsefolderdialogtest,刪除對話方塊中原有控制項。新增乙個按鈕 顯示資料夾選擇對話方塊 新增按鈕的單擊事件函式 如下 void cbrowsefolderdialogtestdlg onbnclickedbutton1 memset brow...
選擇資料夾對話方塊
選擇資料夾對話方塊 在乙個專案中用到了選擇資料夾對話方塊,為了方便特意寫了函式來顯示並返回使用者選擇的資料夾的路徑 其中具體引數的含義可以參考http tag.csdn.net tag browseinfo.xml 呼叫時只需要 if folderbrowsedialog struserselect...
資料夾選擇對話方塊
1.資料夾選擇對話方塊 parameters p fpath like rlgrap filename lower case obligatory at selection screen on value request for p fpath.data lw dir type rlgrap fil...