为了在窗体中贴图
用到CClientDC dc(this);
编译通过,运行就弹出报警框
在CSDN搜索看到解决方法CDC* pDC=GetDC();
改后还是出现同样问题
谁帮帮我啊

解决方案 »

  1.   

    CMainFrame::CMainFrame()
    {   
        GetClientRect( &rect);
        CClientDC dc(this);
        mdc = new CDC; //建立内存DC对象
        bitmap = new CBitmap; //建立CBitmap位图对象
        mdc->CreateCompatibleDC(&dc); //将mdc转换成与dc相容的DC
        bitmap->m_hObject = (HBITMAP)::LoadImage(NULL ,"BK.bmp", IMAGE_BITMAP, rect.right, rect.bottom, LR_LOADFROMFILE);
        mdc->SelectObject(bitmap); 
    }CMainFrame::OnPaint()
    {
        CPaintDC dc(this); //建立响应WM_PAINT消息的DC
        CRect rect;
        GetClientRect( &rect);
        dc.BitBlt(0,0,rect.right,rect.bottom,mdc,0,0,SRCCOPY);
    }
    代码在这里了
    我感觉放构造函数里可能有问题,可是看到例子里是这样的
    我郁闷,帮帮我
      

  2.   

    当然有问题!这是还没有创建窗体,哪里来的ClientDC?
    mdc->CreateCompatibleDC(NULL);
    试试。
      

  3.   

    但是我把构造函数里面的挪到OnCreate中又不能显示图片!!!!