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

你可能感兴趣的:(CFileDialog使用方法)