MFC中CFileDialog開啟和儲存檔案對話方塊

2021-05-24 23:14:15 字數 1610 閱讀 8248

首先我先寫一段在vc6.0上開啟/儲存檔案對話方塊的程式:

cstring   filepathname;//檔名引數定義

cfiledialog  dlg(true,null,null,ofn_hidereadonly | ofn_overwriteprompt,"txt files(*.txt)|*.txt|all files(*.*)|*.*");

//開啟檔案

if(dlg.domodal() == idok)//是否開啟成功

else//開啟失敗處理

以上的程式就是處理乙個"開啟/儲存檔案對話方塊"的程式,下面我將分析這段程式,詳細的說明各個引數的作用!

構造乙個物件並提供相應的引數,建構函式原型如下: 

cfiledialog dlg( 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 為父視窗指標。 

建立檔案對話方塊可以使用domodal(),在返回後可以利用下面的函式得到使用者選擇: 

cstring cfiledialog::getpathname( ) 得到完整的檔名,包括目錄名和副檔名如:c: est est1.txt 

cstring cfiledialog::getfilename( ) 得到完整的檔名,包括副檔名如:test1.txt 

cstring cfiledialog::getextname( ) 得到完整的副檔名,如:txt 

cstring cfiledialog::getfiletitle ( ) 得到完整的檔名,不包括目錄名和副檔名如:test1 

position cfiledialog::getstartposition( ) 對於選擇了多個檔案的情況得到第乙個檔案位置。 

cstring cfiledialog::getnextpathname( position& pos ) 對於選擇了多個檔案的情況得到下乙個檔案位置,並同時返回當前檔名。但必須已經呼叫過position cfiledialog::getstartposition( )來得到最初的position變數。 

**

MFC 中CFileDialog的用法

cfiledialog cfiledialog bool bopenfiledialog,lpctstr lpszdefext null,lpctstr lpszfilename null,dword dwflags ofn hidereadonly ofn overwriteprompt,lpct...

MFC中的CFileDialog使用詳解

cfiledialog類封裝了windows常用的檔案對話方塊,提供個一種簡單的與windows標準相一致的檔案開啟和檔案存檔對話方塊功能。要使用cfiledialog類,首先要構造乙個物件,例項 cfiledialog filedlg true,cfg cfg ofn filemustexist ...

mfc函式 CFileDialog的用法

cfiledialog cfiledialog bool bopenfiledialog,lpctstr lpszdefext null,lpctstr lpszfilename null,dword dwflags ofn hidereadonly ofn overwriteprompt,lpct...