CFileDialog檔案選擇對話方塊的使用

2021-06-19 07:59:57 字數 2403 閱讀 7091

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 ...