我在对话框Showresult中载入图片
void CShowresult::OnPaint() 
{
CPaintDC dc(this);  
...载入图片}然后希望可以打开txt文件
void CShowresult::OnOpen() 
{
      CFileDialog dlg(TRUE,NULL,"*.txt",OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,       "文本文档(*.txt)|*.txt|",AfxGetMainWnd());      CString strPath,strText="";    if(dlg.DoModal() == IDOK)
    {
        strPath=dlg.GetPathName();
    } MessageBox(strPath);}为什么这个时候载入的图片没有了??? 好奇怪啊

解决方案 »

  1.   

    我在 MessageBox后面加了Invalidate(); 还是没有
      

  2.   

    你在OnPaint里面是怎么载入图片的?是不是有关图片的什么东西用了一次就被释放了而下次又没有重新载入?
      

  3.   

            RECT rect;
    CDC *mdc = new  CDC;
    CBitmap *bitmap = new CBitmap;        GetClientRect(&rect);
    mdc->CreateCompatibleDC(&dc); bitmap->m_hObject = (HBITMAP)::LoadImage(NULL, "zuobiao.bmp", 
    IMAGE_BITMAP, rect.right, rect.bottom, LR_LOADFROMFILE); mdc->SelectObject(bitmap);
    dc.BitBlt(0, 0, rect.right, rect.bottom, mdc, 0, 0, SRCCOPY);
      

  4.   

    "zuobiao.bmp",  
    改成全路径就可以了, 真奇怪全路径要\\而不是\, 谢谢大家
      

  5.   

    你的代码有些乱,你按下面方法重写一下吧:
    在CShowresult中定义一个CImage类变量,在OnInitDialog的时候调用CImage类的Load函数。在OnPaint中调用CImage类的BitBlt函数,只贴dc.m_ps.rcPaint的区域。