一、開啟、儲存對話方塊
檔案對話方塊屬於通用對話方塊範疇(另外還有顏色,查詢,查詢替換,字型,列印等對話方塊)。
借助mfc現成的類cfiledialog你可以輕易操作檔案對話方塊。
cfiledialog dlg( true, _t( "txt" ), _t( "b.txt" ), ofn_filemustexist | ofn_hidereadonly, _t( "文字|*.txt|所有檔案|*||" ) );
if ( dlg.domodal() == idok )
// 開啟檔案對話方塊,彈出對話方塊選擇路徑儲存檔案 [4/13/2011 shulei]
cstring foldername;
cfiledialog dlg( false, _t( "xls" ), _t( "" ), ofn_overwriteprompt|ofn_hidereadonly, _t( "excel檔案|*.xls|所有檔案|*||" ) );
dlg.m_ofn.lpstrtitle=_t("資料儲存為excel檔案");
if ( dlg.domodal() == idok )
第乙個引數true:開啟檔案對話方塊,false:儲存檔案對話方塊
第二個引數表示要開啟檔案的預設副檔名(儲存檔案是顯得比較重要)
第三個引數表示要開啟的目標檔名,如果未提供擴充套件名將使用第二個引數指定的名稱
第四個引數 ofn_filemustexist表示目標必須存在, ofn_hidereadonly不顯示唯讀檔案,還有些其他引數可用ofn_***自行檢索之
第五個引數表示過濾字串表,按照這個格式"標題|過濾表|標題|過濾表||"
二、瀏覽資料夾對話方塊
開啟乙個資料夾對話方塊沒有現成的mfc類可用,需要借助一類稱為shell操控的api函式。三個步驟:配置對話方塊,開啟對話方塊,獲取返回值(資料夾路徑)。
// 獲取特定資料夾的lpitemidlist,可以將之理解為handle
// 所謂的特定資料夾,你可以用csidl_***來檢索之。
lpitemidlist rootloation;
shgetspecialfolderlocation( null, csidl_desktop, &rootloation );
if ( rootloation == null )
// 配置對話方塊
browseinfo bi;
zeromemory( &bi, sizeof( bi ) );
bi.pidlroot = rootloation; // 資料夾對話方塊之根目錄,不指定的話則為我的電腦
bi.lpsztitle = _t( "對話方塊抬頭" ); // 可以不指定
// bi.ulflags = bif_editbox | bif_returnonlyfsdirs;
// 開啟對話方塊, 有點像domodal
lpitemidlist targetlocation = shbrowseforfolder( &bi );
if ( targetlocation != null )
MFC 實現開啟檔案對話方塊 儲存檔案對話方塊
cfiledialog cfiledialog bool bopenfiledialog,lpctstr lpszdefext null,lpctstr lpszfilename null,dword dwflags ofn hidereadonly ofn overwriteprompt,lpct...
MFC 檔案開啟和儲存對話方塊
開啟影象檔案 cfiledialog picfiledlg true,null,null,ofn hidereadonly ofn overwriteprompt ofn allowmultiselect,jpg jpg jpg 位 件 bmp bmp null 如果需要開啟其他型別的檔案,只需要在...
MFC開啟 儲存檔案對話方塊 CFileDialog
mfc開啟 儲存檔案對話方塊 cfiledialog 2008 03 15 12 02 cfiledialog 檔案選擇對話方塊的使用 首先構造乙個物件並提供相應的引數,建構函式原型如下 cfiledialog cfiledialog bool bopenfiledialog,lpctstr lps...