HDC hDC = GetDC(hWnd);
HDC memDC = ::CreateCompatibleDC(hDC);

int x = m_pWndRect.left, y = m_pWndRect.top;
//画水平线
int nHeight = m_pWndRect.bottom - 200;
int nWidth = m_pWndRect.right - 200; HBITMAP hBitmap = ::CreateCompatibleBitmap(hDC, nWidth, nHeight);
HBITMAP hOldBitmap = (HBITMAP)SelectObject(memDC, hBitmap); for (y = m_pWndRect.top; y < nHeight; y += m_nYSpacing)
{
::MoveToEx(memDC, x, y, NULL);
::LineTo(memDC, x + (nWidth - x), y);
} //画垂直线
x = m_pWndRect.left, y = m_pWndRect.top;
for (x = m_pWndRect.left; x < nWidth; x += m_nXSpacing)
{
::MoveToEx(memDC, x, y, NULL);
::LineTo(memDC, x, y + (nHeight - y));
}

BitBlt(hDC, m_pWndRect.left, m_pWndRect.top, nWidth, nHeight, memDC, 0, 0, SRCCOPY);  
SelectObject(memDC, hOldBitmap);
DeleteObject(hBitmap);
ReleaseDC(hWnd, memDC);执行后显示黑图啊```估计是画线那些地方没画上``但是我试过把画线的地方改成画矩形或FillRect,却是可以画出来的`请教``有什么问题吗

解决方案 »

  1.   

    创建一个CPen,可能默认的pen颜色和背景一样了。
      

  2.   

    有创建啊```不过不是在这里selectobject的```我试试在这里selectobject看看`
      

  3.   

    m_nXSpacing/m_nYSpacing的值设置了没有?
      

  4.   

    是啊``我是改了memDC那里,原来是dc载入pen的,而memDC里的pen是黑色的,所以看不出来``呵器械