我用MFC建了一个对话框,上面添加两个按钮,一个打开图像,一个生成文本,当我直接点击生成文本按钮的时候,可以生成一个文本,但是当我先打开一个图像的时候,再点击生成文本按钮的时候,文本就不能生成了。为什么??谢谢。

解决方案 »

  1.   

    这是显示图像的
    void COpenImageDlg::OnXianShi() 
    {
    // TODO: Add your control notification handler code here
    m_kuangjia1.GetWindowRect(ImageRect);//在COpenImageDlg中为公有
    ScreenToClient(ImageRect); ImageRect.top+=15;
    ImageRect.left+=1;
    ImageRect.right-=1;
    ImageRect.bottom-=1;

    if(bPaint)  //bool值在头文件里有定义
    {
    m_CPal.DeleteObject();     //调色板对象
    if(hdibImg)
    {
    GlobalFree(hdibImg);   //释放
    hdibImg=NULL;
    }
    }

    UpdateData(TRUE);
        
    hdibImg=ReadDIBFile(m_lujing1);
    bPaint=TRUE;
    CreateDIBPalette((HDIB)hdibImg, &m_CPal); 
        InvalidateRect((LPRECT)&ImageRect,FALSE);

    GlobalUnlock(hdibImg);//锁定内存空间
    }
    这是生成文本的。void COpenImageDlg::Onresult() 
    {
      CFile   file;   
      CString   str   =   "import   filename   path   bitrate=30000000";   
      file.Open("data.txt",CFile::modeCreate|CFile::modeWrite);   
      file.Write(str,str.GetLength()) ;  
      file.Close();
    }不过我觉得这是没有关系的。你如果自己建一个也会出现这个问题。我同学也作了一个,是同样的问题。
    希望大家帮帮忙。谢谢。