CFileDialog使用方法

經常用到這個類,避免每次都去查用法,這裏記錄一下:
用法很簡單,通過下面這個例子就很清楚了:

CFileDialog openDlg(TRUE, 
					_T("CLS File(*.cls)|*.cls"), 
					NULL,
					OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,
					_T("CLS File(*.cls)|*.cls||"),
					this);//創建打開文件對話框對象
INT_PTR result = openDlg.DoModal();//以模態方式創建打開文件對話框
if (result == IDOK)//如果有選中文件,那麼result就是IDOK
{
	CString pathName, fileName, titleName, extName;
	pathName = openDlg.GetPathName();//得到完整的文件名,包括目錄名和擴展名如:c:/test/test1.txt
	fileName = openDlg.GetFileName();//得到完整的文件名,包括擴展名如:test1.txt
	titleName = openDlg.GetFileTitle();//得到完整的文件名,不包括目錄名和擴展名如:test1
	extName = openDlg.GetFileExt();// 得到完整的文件擴展名,如:txt
	MessageBox(pathName + "\r" + fileName + "\r" + titleName + "\r" + extName);//通過顯示,注意幾者區別
}

下面是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 爲父窗口指針

參考文獻:
https://blog.csdn.net/tianhai110/article/details/2055149
https://blog.csdn.net/hanfenglz/article/details/80537027

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章