算了不要代码,谁来看看 我这段代码 那里写错了,估计是我犯了一个N弱智的错误,但是现在自己又找不出来。
反正就是他不能显示!
解决这个问题 100分就送了!
case WM_CREATE:
     DC = GetDC(hWnd);
     GetClientRect(hWnd,&m_ClientRect);
m_ClientX =m_ClientRect.right - m_ClientRect.left;
m_ClientX =m_ClientRect.bottom - m_ClientRect.top;
m_hDC =CreateCompatibleDC(DC);
m_hBitmap =CreateCompatibleBitmap(DC,m_ClientX,m_ClientX);
SelectObject(m_hDC,m_hBitmap);
m_hBrush = (HBRUSH)GetStockObject( WHITE_BRUSH );
SelectObject( m_hDC, m_hBrush );
PatBlt( m_hDC, 0, 0,m_ClientX, m_ClientY,PATCOPY );
     break;
case WM_PAINT:
         hdc = BeginPaint(hWnd, &ps);
RECT rt;
         GetClientRect(hWnd, &rt);
DrawText(m_hDC, szHello, strlen(szHello), &rt, DT_CENTER);
BitBlt(hdc,0,0,m_ClientX,m_ClientY,m_hDC,0,0,SRCCOPY); EndPaint(hWnd, &ps);
break;我看了半天了,现在脑袋大了,实在是看不下去了。

解决方案 »

  1.   

    m_ClientX =m_ClientRect.right - m_ClientRect.left;
    m_ClientX =m_ClientRect.bottom - m_ClientRect.top;
    什么意思???
    还有我觉得你最好是在WM_PAINT建立m_hDC和m_hBitmap,因为ClientRect可能会变化,在建立后
      

  2.   

    把m_ClientX=m_ClientRect.bottom - m_ClientRect.top 改成 m_ClientY=m_ClientRect.bottom - m_ClientRect.top 试试。
      

  3.   

    下面还有一句
    m_hBitmap =CreateCompatibleBitmap(DC,m_ClientX,m_ClientX);
    请注意第二个参数.                                      ^^