求助:建立一个MFC单文档,自己做一个菜单,文件->打开,消息处理函数为OnFileOpen(),但是打开一个图片并不能显示,是什么原因?应该做么做啊

解决方案 »

  1.   

    调查一下loadimage吧,类似于这种函数的可以显示图片。直接从MSDN中找。
      

  2.   

    LoadImage()写在OnDraw里还是OnFileOpen()里?》
      

  3.   

    您直接打开仅仅可以得到的是图片的路径(这还要您自己写代码获得),然后您要调用loadimage等GDI函数把它显示出来才行。仅仅是打开是不够的。
      

  4.   

    显示图片只要使用LoadImage就可以了,还是我要另外建立一个类?
      

  5.   

    直接用
    ::LoadImage()直接从磁盘文件读入位图  并返回一DIB项句柄
    CDC::LoadBitmap()将基于资源的DIB转换成GDI位图 通常在OnDraw()里调用
      

  6.   

    LoadImage()也只是读取而已,显示的时候还要用BitBlt,StretchBlt等方法
      

  7.   

    显示图片的代码要自己写,GDI+比较方便
      

  8.   

    在OnFileOpen()里写的代码如下:
    {static char szFilter[]="BMP Files(*.bmp)|*.bmp|GIF Files(*.gif)|*.gif|JPG Files(*.jpg;*.jpeg)|*.jpg;*.jpeg||"; CFileDialog dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY, szFilter );
    if(dlg.DoModal ()==IDOK)
    {
    CFile file;
    VERIFY(file.Open (dlg.GetPathName (),CFile::modeRead )); } CImage img;    img.Load( dlg.GetFileName ());
    }
    在View类OnDraw()函数里写入:
                       if (!m_Image.IsNull())
     m_Image.Draw (pDC->m_hDC ,0,0);

    这样还是不能够显示图片,错在那里啊?要不要在View类再写个Draw函数啊,如果写的话写什么代码啊?