需求:
1. 在当前目录下查找某文件,若该文件存在,弹出对话框,按【是】则return文件名,按【否】则弹出选择文件对话框,选择文件后按【打开】则返回该文件的文件名,若在选择文件对话框中按【取消】,则返回空。
2. 用CFile类实现选择文件对话框。
CString 类名::GetResultFileName()
{
CString name = "";
CFileFind find;
CFileDialog fDlg(true, NULL, NULL, OFN_NOCHANGEDIR|OFN_OVERWRITEPROMPT|OFN_EXPLORER|OFN_LONGNAMES, "DataFile(*.txt)|*.txt", this);
fDlg.m_ofn.lpstrInitialDir = ".//";
if(find.FindFile("abc.txt")) //若当前目录下abc.txt文件存在
{
if(::MessageBox(NULL, "abc.txt文件存在,是否需要上传", "文件上传", MB_YESNO)== IDYES) //弹出对话框并按【是】
{
return "abc.txt"; //返回文件名
}
}
if (fDlg.DoModal() == IDOK) //DoModal()负责弹出选择文件对话框,无论当前目录下abc.dat文件存在与否都执行,若按【打开】
进入if内,获取文件名,若按【取消】,直接return name的初始值-空。
{
name = fDlg.GetPathName();
}
return name;
}
本文介绍了一个使用CFile类实现的选择文件对话框的应用案例。通过弹出对话框询问用户是否使用已存在的文件,若文件不存在或用户选择不使用,则进一步弹出文件选择对话框供用户选择文件。
1万+

被折叠的 条评论
为什么被折叠?



