檔案選擇對話方塊 CFileDialog

2022-05-06 09:03:12 字數 1725 閱讀 3085

程式如下:

cstring   filepathname;

//檔名引數定義

cfiledialog  dlg(true,null,null,

ofn_hidereadonly | ofn_overwriteprompt,

"txt files(*.txt)|*.txt|all files(*.*)|*.*");

//開啟檔案

if(dlg.domodal() == idok)

//是否開啟成功

else

//開啟失敗處理

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

建立檔案對話方塊可以使用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

mfc開啟 儲存檔案對話方塊 cfiledialog 2008 03 15 12 02 cfiledialog 檔案選擇對話方塊的使用 首先構造乙個物件並提供相應的引數,建構函式原型如下 cfiledialog cfiledialog bool bopenfiledialog,lpctstr lps...

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

cfiledialog 檔案選擇對話方塊的使用 首先構造乙個物件並提供相應的引數,建構函式原型如下 cfiledialog cfiledialog bool bopenfiledialog,lpctstr lpszdefext null,lpctstr lpszfilename null,dword...

選擇目錄對話方塊和選擇檔案對話方塊

在mfc程式設計中經常會需要用到選擇目錄和選擇檔案的介面,以下總結一下本人常用的這兩種對話方塊的生成方法 選擇目錄對話方塊 選擇目錄按鈕 void cdcpackerdlg onbnclickeddecgen else afxmessagebox 無效的目錄,請重新選擇 選擇檔案對話方塊 cstri...