首先我先寫一段在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...