我在另存图片时 ?CFileDialog::getPathName返回没有路径的名字 ?为什么会这样  ? 怎么样改可以有效呢 ?

解决方案 »

  1.   

    void CmfccvDoc::OnFileSaveAs()
    {
    // TODO: Add your command handler code here CString strFilter,strDefault;// string 类型   文件过滤器
    CString strFileName; 
    strDefault="未命名";
    strFilter = "JPEG文件(*.jpg)|*.jpg|BMP文件(*.bmp)|*.bmp|PNG文件|*.png|所有格式(*.*)";
    CFileDialog dlgFile(false,0,strDefault,OFN_OVERWRITEPROMPT,strFilter); 

    strFileName=dlgFile.GetPathName();
    OnSaveDocument(strFileName);上面的代码只返回了一个文件名  ... 我也看到有人是我这样的 ...http://tech.ddvip.com/2006-04/11442573003842.html
      

  2.   


    void CmfccvDoc::OnFileSaveAs()
    {
        // TODO: Add your command handler code here    CString strFilter,strDefault;// string 类型   文件过滤器
        CString strFileName; 
        strDefault="未命名";
        strFilter = "JPEG文件(*.jpg)|*.jpg|BMP文件(*.bmp)|*.bmp|PNG文件|*.png|所有格式(*.*)";
        CFileDialog dlgFile(false,0,strDefault,OFN_OVERWRITEPROMPT,strFilter); 
        if(IDOK==dlgFile.DoModal())
         {
         strFileName=dlgFile.GetPathName();
         OnSaveDocument(strFileName);
         }
      

  3.   

    CString strFilter,strDefault;// string 类型   文件过滤器
        CString strFileName; 
        strDefault="未命名";
        strFilter = "JPEG文件(*.jpg)|*.jpg|BMP文件(*.bmp)|*.bmp|PNG文件|*.png|所有格式(*.*)";
        CFileDialog dlgFile(false,0,strDefault,OFN_OVERWRITEPROMPT,strFilter); 
        if(IDOK==dlgFile.DoModal())
         {
         strFileName=dlgFile.GetPathName();
         OnSaveDocument(strFileName);
         }
      

  4.   


    CString strFilter,strDefault;// string ÀàÐÍ   Îļþ¹ýÂËÆ÷
        CString strFileName; 
        strDefault="δÃüÃû";
        strFilter = "JPEGÎļþ(*.jpg)|*.jpg|BMPÎļþ(*.bmp)|*.bmp|PNGÎļþ|*.png|ËùÓиñʽ(*.*)";
        CFileDialog dlgFile(false,0,strDefault,OFN_OVERWRITEPROMPT,strFilter); 
        
    if(IDOK == dlgFile.DoModal())
    {
    strFileName=dlgFile.GetPathName();
    AfxMessageBox(strFileName);
    }
      

  5.   

    加了if (dlgFile.DoModal() == IDOK)
        {
    strFileName=dlgFile.GetPathName();
        }
    是没问题的,不知道你在哪里调试strFileName不对,查一下是不是别的函数有问题