我想显示display_bufer里的颜色数据,怎么什么都没有??请问各位 问题出在哪呢?
        CBitmap  hDisplay;   
HDC hDC = CreateDC("Display",NULL,NULL,NULL);

HDC hMemDC = CreateCompatibleDC(hDC); 

error = hDisplay.CreateBitmap(SCREEN_W,SCREEN_H,1,24,display_bufer); BitBlt(hDC,0,0,SCREEN_W,SCREEN_H,hMemDC,0,0,SRCCOPY);   SelectObject(hDC,hDisplay); 

解决方案 »

  1.   

    HDC hDC = CreateDC("Display",NULL,NULL,NULL); 
    这句得到的DC有效么?
    还有,CreateBitmap返回值是否正确?
    HDC hDC 建议用GETDC
      

  2.   

    createDC 返回的不是NULL, CreateBitmap返回的是TRUE
      

  3.   

    你的HDC没有与窗口关联。CClientDC dc(m_hWnd);
    CDC dcMem;dcMem.CreateCompatibleDC(&dc);
    // 后面同你的代码
      

  4.   

     关联当前dc, 修改成下面,还是没东西!怎么回事???
          CPaintDC dc(this); // device context for painting
    pDC = &dc; error = hMemDC.CreateCompatibleDC(pDC); 
    error = hDisplay.CreateBitmap(SCREEN_W,SCREEN_H,1,24,display_buffer);
    CBitmap * pOldBitmap = hMemDC.SelectObject(&hDisplay); 
    error = pDC->BitBlt(0,0,SCREEN_W,SCREEN_H,&hMemDC,0,0,SRCCOPY);  
    hMemDC.SelectObject(pOldBitmap);
      

  5.   


    HDC       hScrDC, hMemDC;      
    HBITMAP    hBitmap, hOldBitmap;   
    int       nX, nY, nX2, nY2;      
    int       nWidth, nHeight; if (IsRectEmpty(lpRect))
    return NULL; hScrDC = CreateDC(_T("DISPLAY"), NULL, NULL, NULL); hMemDC = CreateCompatibleDC(hScrDC);
    nX = lpRect->left; nY = lpRect->top; nX2 = lpRect->right; nY2 = lpRect->bottom; if (nX < 0) nX = 0;
    if (nY < 0) nY = 0;
    if (nX2 > m_xScreen) nX2 = m_xScreen;
    if (nY2 > m_yScreen) nY2 = m_yScreen;
    nWidth = nX2 - nX;
    nHeight = nY2 - nY; hBitmap = CreateCompatibleBitmap(hScrDC, nWidth, nHeight);
    hOldBitmap = (HBITMAP)SelectObject(hMemDC, hBitmap);
    BitBlt(hMemDC, 0, 0, nWidth, nHeight, hScrDC, nX, nY, SRCCOPY);
    hBitmap = (HBITMAP)SelectObject(hMemDC, hOldBitmap); DeleteDC(hScrDC);
    DeleteDC(hMemDC);
      

  6.   


    不对吧,我想要显示给定bufer里的数据!