如题,我使用bitblt函数绘制,但是只知道绘制在框架上的方法,结果图片把第2个视图也覆盖了

解决方案 »

  1.   

    每个窗口都有paint,在个中的paint中画
      

  2.   

    窗口DC怎么获取,
    HWND hwnd = ::GetForegroundWindow();
    HDC hdc = ::GetDC(hwnd);
    HBITMAP bg = (HBITMAP)LoadImage(NULL,"C:\\Documents and Settings\\Administrator\\桌面\\漫画图片.bmp",IMAGE_BITMAP,600,450,LR_LOADFROMFILE);
    HDC hdc_buf = ::CreateCompatibleDC(hdc);
    ::SelectObject(hdc_buf,bg);
    ::BitBlt(hdc,0,0,600,450,hdc_buf,0,0,SRCCOPY);
    ::DeleteObject(hdc);
    ::DeleteObject(hdc_buf);
    这段代码写在要绘制的视窗的ondraw()函数中,要怎么更改,请指教,谢谢
      

  3.   

    不要用GetForegroundWindow 和 GetDC 获取DC  视图类中的OnDraw的传入参数不是有CDC吗 用那个
      

  4.   

    但是bitblt()的参数只能是HDC的啊,使用CDC定义的参数报错啊- -
      

  5.   

    解决了,谢谢大家 pDC->BitBlt(0,0,600,450,&dc,0,0,SRCCOPY);用这句就可以了