MFC4类文件操作对话框

MFC4类文件操作对话框

一:文件夹选择
均测试通过

void FileDlg::OnBnClickedBt1()    
{
    char szPath[MAX_PATH];     //存放选择的目录路径 
    CString str;
    ZeroMemory(szPath, sizeof(szPath));   

    BROWSEINFO bi;   
    bi.hwndOwner = m_hWnd;   
    bi.pidlRoot = NULL;   
    bi.pszDisplayName = szPath;   
    bi.lpszTitle = "请选择目录:";   
    bi.ulFlags = 0;   
    bi.lpfn = NULL;   
    bi.lParam = 0;   
    bi.iImage = 0;   
    //弹出选择目录对话框
    LPITEMIDLIST lp = SHBrowseForFolder(&bi);   

    if(lp && SHGetPathFromIDList(lp, szPath))   
    {
        str.Format("选择的目录为 %s",  szPath);
        AfxMessageBox(str); 
    }
    else   
        AfxMessageBox("无效目录");   
}

二:文件选择

void FileDlg::OnBnClickedBt2()
{
    CStringA strFile = "";
    CFileDialog    dlgFile(TRUE, NULL, NULL, OFN_HIDEREADONLY, _T("Describe Files (*.xml)|*.xml"), NULL);

    if (dlgFile.DoModal())
    {
        strFile = dlgFile.GetPathName();
    }
    MessageBoxA(NULL, strFile, "模板参数加载", IDOK); 
}

三:文件保存

void FileDlg::OnBnClickedBt3()
{
    BOOL isOpen = FALSE;        //是否打开(否则为保存)  
    CString defaultDir = "E:\\FileTest";   //默认打开的文件路径  
    CString fileName = "test.xml";         //默认打开的文件名  
    CString filter = "文件 (*.xml)|*.xml||";   //文件过虑的类型  
    CFileDialog openFileDlg(isOpen, defaultDir, fileName, OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT, filter, NULL);  
    openFileDlg.GetOFN().lpstrInitialDir = "E:\\FileTest\\test.doc";  
    INT_PTR result = openFileDlg.DoModal();  
    CString filePath = defaultDir + "\\" + fileName;  
    if(result == IDOK) {  
        filePath = openFileDlg.GetPathName();  
    }  
    std::stringstream ss; 
    ss << filePath;
    std::string s;
    ss >> s; 
    MessageBox(filePath, "模板参数保存"); 
    mPA.saveParams(s); 
}

四:文件选择

void FileDlg::OnBnClickedBt4()
{
    BOOL isOpen = TRUE;     //是否打开(否则为保存)  
    CString defaultDir = "E:\\FileTest";   //默认打开的文件路径  
    CString fileName = "";         //默认打开的文件名  
    CString filter = "文件 (*.xml)|*.xml||";   //文件过虑的类型  
    CFileDialog openFileDlg(isOpen, defaultDir, fileName, OFN_HIDEREADONLY|OFN_READONLY, filter, NULL);  
    openFileDlg.GetOFN().lpstrInitialDir = "E:\\FileTest\\test.doc";  
    INT_PTR result = openFileDlg.DoModal();  
    CString filePath = defaultDir + "\\test.doc";  
    if(result == IDOK) {  
        filePath = openFileDlg.GetPathName();  
    }  
    std::stringstream ss; 
    ss << filePath;
    std::string s;
    ss >> s; 
    MessageBox(filePath, "模板参数加载"); 
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值