重点学会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);
}