我创建了一个内存区域,然后将这个内存区域贴到一个Pictrue里,怎么是个大黑块??
代码如下:
HDC imageTemp = CreateCompatibleDC(m_image.GetDC()->m_hDC);
HBITMAP BitmapTemp = CreateCompatibleBitmap(m_image.GetDC()->m_hDC,iWidth,iHeight);
SelectObject(imageTemp,BitmapTemp);
BitBlt(m_image1.GetDC()->m_hDC,0,0,iWidth,iHeight,imageTemp,0,0,SRCCOPY);我想贴过去也是默认的灰色。

解决方案 »

  1.   

    GetDC和ReleaseDC要配套用,否则会出错的
      

  2.   

    如果你不设置背景色,就是一个大黑块
    你可以用CClientDC(this)取当前客户区的DC啊,那样拷贝过去就不是一个大黑块了
      

  3.   

    或者可以创建一个背景色的刷子,填充区域的背景色,这段代码是我在MFC下写的,你改一下就行了
    CBrush brBackGroud;
    brBackGroud.CreateSysColorBrush(COLOR_3DFACE);//创建背景色的刷子
    pDC->FillRect(&rcBursh,&brBackGroud);//用背景色刷子刷矩形