MFC打开文件对话框选择文件
重点学会CFileDialog类。
explicit CFileDialog( BOOL bOpenFileDialog, LPCTSTR lpszDefExt = NULL, LPCTSTR lpszFileName = NULL, DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, LPCTSTR lpszFilter = NULL, CWnd* pParentWnd = NULL, DWORD dwSize = 0, BOOL bVistaStyle = TRUE );
该类常用的方法:
CString CFileDialog::GetPathName( ) 得到完整的文件名,包括目录名和扩展名如:c:\ test\ test1.txt
CString CFileDialog::GetFileName( ) 得到完整的文件名,包括扩展名如:test1.txt
CString CFileDialog::GetExtName( ) 得到完整的文件扩展名,如:txt
CString CFileDialog::GetFileTitle ( ) 得到完整的文件名,不包括目录名和扩展名如:test1
POSITION CFileDialog::GetStartPosition( ) 对于选择了多个文件的情况得到第一个文件位置。
通过点击某个按钮弹出打开文件对话框:
为该按钮添加Click事件处理程序,以下是处理程序中的代码:
// TODO: 在此添加控件通知处理程序代码
CString OpenFilter = _T("文本文件(*.txt)|*.txt|");
CFileDialog FileOpen(TRUE, NULL, NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, OpenFilter);
if(IDOK == FileOpen.DoModal())
{
CString PathName = FileOpen.GetPathName();
CString FileName = FileOpen.GetFileName() + PathName;
//GetDlgItem(IDC_APT_TEXT)->SetWindowTextW(FileName);
}