MFC中的CFileDialog使用詳解

2021-06-10 11:24:04 字數 1577 閱讀 5859

cfiledialog類封裝了windows常用的檔案對話方塊,提供個一種簡單的與windows標準相一致的檔案開啟和檔案存檔對話方塊功能。

要使用cfiledialog類,首先要構造乙個物件,

例項:cfiledialog filedlg(true, "cfg", "*.cfg", ofn_filemustexist| ofn_hidereadonly, 配置檔案(*.cfg)|*.cfg||", this);

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 指明一些特定風格。 (預設ofn_hidereadonly | ofn_overwriteprompt)

lpszfilter 指明可供選擇的檔案型別和相應的副檔名。

pparentwnd 為父視窗指標。

其中,副檔名應該遵循以下格式:

「chart files (*.xlc)|*.xlc| worksheet files (*.xls)|*.xls| data files (*.xlc;*.xls)|*.xlc ; *.xls| all files (*.*)|*.*||」;

檔案型別說明和副檔名間用 | 分隔,同種型別檔案的副檔名間可以用 ; 分割,每種檔案型別間用 | 分隔,末尾用 || 指明。

常用函式:

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

cstring cfiledialog::getpathname( ) 得到完整的檔名,包括目錄名和副檔名如:c:\test\test1.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 cfiledialog bool bopenfiledialog,lpctstr lpszdefext null,lpctstr lpszfilename null,dwor...

MFC中的視窗

mfc 視窗 mfc視窗不對視窗進行直接的控制,而在api環境中卻是可以的。如果不能在api環境中實現某項功能,那麼 肯定也不能在mfc環境中實現。舉例來說,mfc庫的cwnd可以建立乙個視窗,但它只是過去在api環境中使用 api呼叫的封裝。建立mfc視窗是複雜的,首先,建立類cwnd的乙個例項,...

MFC中的控制項

mfc的各種控制項使用 靜態控制項,包括,靜態文字和分組框,預設id都是idc static.按鈕控制項 原形按鈕,記住要加group屬性.register 宣告為暫存器變數 explicit 禁止自動轉換 mutable修飾的變數在常函式中也可以被修改了 組合框和列表框控制項 控制項類是ccomb...