VC中CFileDialog的基本操作

2021-06-19 06:01:29 字數 1427 閱讀 1122

vc中,經常使用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 為父視窗指標。

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

VC中使用CFileDialog進行檔案操作

一般來講你不需要派生新的類,因為基類已經提供了常用的功能,而且在建立並等待對話方塊結束後你可以通過成員函式得到使用者在對話方塊中的選擇。cfiledialog檔案選擇對話方塊的使用 首先構造乙個物件並提供相應的引數,建構函式原型如下 cfiledialog cfiledialog bool bope...

VC 鎖屏軟體 CFileDialog使用問題

最近公司讓做乙個簡單的應用,用來控制電腦 xp系統 類似網咖的監控軟體的鎖屏功能,簡單的應用,類似流氓應用。開機鎖屏,需要密碼驗證才可以解鎖,管理員可以新增固定的使用者程式。使用者只可以使用已經新增的被允許的應用程式。廢話不多說,說問題 在管理員選擇可以使用的程式的時候,出現問題,我使用cfiled...

VC中使用CFileDialog進行檔案操作

一般來講你不需要派生新的類,因為基類已經提供了常用的功能。而且在建立並等待對話方塊結束後你可以通過成員函式得到使用者在對話方塊中的選擇。cfiledialog檔案選擇對話方塊的使用 首先構造乙個物件並提供相應的引數,建構函式原型如下 cfiledialog cfiledialog bool bope...