cfiledialog檔案選擇對話方塊的使用
cfiledialog檔案選擇對話方塊的使用:首先構造乙個物件並提供相應的引數,建構函式原型如下:
cfiledialog::cfiledialog( bool bopenfiledialog, lpctstr lpszdefext = null, lpctstr lpszfilename = null, dword dwflags = ofn_hidereadonly | ofn_overwriteprompt, lpctstr lpszfilter = null, cwnd* pparentwnd = null );引數意義如下:
bopenfiledialog 為true則顯示開啟對話方塊,為false則顯示儲存對話檔案對話方塊。
lpszdefext 指定預設的副檔名。
lpszfilename 指定預設的檔名。
dwflags 指明一些特定風格。
lpszfilter 是最重要的乙個引數,它指明可供選擇的檔案型別和相應的副檔名。引數格式如:
"chart files (*.xlc)|*.xlc|worksheet files (*.xls)|*.xls|data files (*.xlc;*.xls)|*.xlc; *.xls|all files (*.*)|*.*||";檔案型別說明和副檔名間用 | 分隔,同種型別檔案的副檔名間可以用 ; 分割,每種檔案型別間用 | 分隔,末尾用 || 指明。
pparentwnd 為父視窗指標。
cstring cfiledialog::getpathname( ) 得到完整的檔名,包括目錄名和副檔名如:c:/test/test1.txt
cstring cfiledialog::getfilename( ) 得到完整的檔名,如:test1
cstring cfiledialog::getextname( ) 得到完整的副檔名,如:txt
cstring cfiledialog::getfiletitle ( ) 得到完整的檔名,包括目錄名和副檔名如:test1.txt
position cfiledialog::getstartposition( ) 對於選擇了多個檔案的情況得到第乙個檔案位置。
cstring cfiledialog::getnextpathname( position& pos ) 對於選擇了多個檔案的情況得到下乙個檔案位置,並同時返回當前檔名。但必須已經呼叫過position cfiledialog::getstartposition( )來得到最初的position變數。
vc++ cfiledialog 讀取多個檔案
dlg.m_ofn.lpstrtitle="**載相關圖層";
//最多可以開啟100個檔案
dlg.m_ofn.nmaxfile = 100 * max_path;
dlg.m_ofn.lpstrfile = new tchar[dlg.m_ofn.nmaxfile];
zeromemory(dlg.m_ofn.lpstrfile, sizeof(tchar) * dlg.m_ofn.nmaxfile);
//顯示檔案對話方塊,獲得檔名集合
int retval = dlg.domodal();
if(retval==idcancel)
return false;
position pos_file;
pos_file = dlg.getstartposition();
carrayary_filename;
while(pos_file != null)
ary_filename.add(dlg.getnextpathname(pos_file));
//根據副檔名讀取相關檔案
CFileDialog選擇多個檔案
c 同時開啟n個檔案 void copennfiledlg onbutton1 endfor 獲取檔名 不包含字尾 採用cstring的left int count 擷取cstring中從左往右數的count個字元 中的4表示 dat 四個字元 filetitle filename.left fil...
使用CFileDialog選擇多個檔案
使用cfiledialog類並設定 ofn allowmultiselect標誌時,openfilename結構體的lpstrfile成員是乙個指向使用者申請分配的緩衝區,裡面接受所 選的路徑和檔名列表,這個列表的每一項由乙個null隔開,最末以兩個null結束。nmaxfile成員指明了緩衝區的大...
CFileDialog如何選擇多個檔案
cfiledialog類設定 ofn allowmultiselect 標誌可以實現檔案多選功能,但是檔案的數量是有限制的,如果要突破這個限制,就必須自己提供緩衝區。cfiledialog dlg true,txt txt ofn allowmultiselect ofn enablesizing ...