现在的位置: 首页 > 自动控制 > 工业·编程 > 正文

VC++ 读取和保存文件对话框及默认目录

2012-08-30 22:21 工业·编程 ⁄ 共 1048字 ⁄ 字号 暂无评论

void Openfile()
{
    // TODO: Add your control notification handler code here
    //显示文件打开对话框
    CFileDialog dlg(TRUE, "EC", "*.aes", OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, "Aes Files(*.aes)|*.aes");
    if ( dlg.DoModal()!=IDOK ) return;
    //获取文件的绝对路径
    CString sFileName=dlg.GetPathName();
}
void Savefile()
{
    //显示文件保存对话框
    CFileDialog dlg(FALSE, "AES", "D_Aes", OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, "Aes Files(*.aes)|*.aes");
    if ( dlg.DoModal()!=IDOK )
        return;
    //获取文件的绝对路径
    CString sFileName=dlg.GetPathName();
}

如果打开对话框时,不是程序的根目录,可以这样看代码!

//获取当前路径
CString strCurrentPath,strMsg;
GetCurrentDirectory(200,strCurrentPath.GetBuffer(200));
strCurrentPath.ReleaseBuffer();
//strMsg=_T("当前文件打开路径为:/n")+strCurrentPath;//测试用的 可以删掉
//MessageBox(strMsg);//测试用的 可以删掉

//strCurrentPath里面存的就是本程序的根目录,请继续看!

CFileDialog   dlg(TRUE,   TEXT("TXT"),   NULL,   OFN_HIDEREADONLY   |   OFN_OVERWRITEPROMPT,   TEXT("文本文件(*.txt)|*.txt|所有文件(*.*)|*.*||"),   this);  
dlg.m_ofn.lpstrInitialDir=strCurrentPath; //这里就设置了对话框的默认目录为strCurrentPath
if ( dlg.DoModal()!=IDOK )
    return;
    //获取文件的绝对路径
CString sFileName=dlg.GetPathName();

给我留言

留言无头像?