CDC.TextOut("Thank you");
CDC还有没有什么函数,可以使整个View的内容全部清除呢,找了好久都没找到呀!

解决方案 »

  1.   

    兄弟,重画底色好像不行呢
    dc.SetBkColor(0xf5f5f5 );不行,原来的字还是在呀!
      

  2.   

    SetBkColor当然不行,这个是给你下次画的时候用的
      

  3.   

    如果TextOut不是在OnDraw(OnPaint)函数里面,直接Invalidate就可以清空了
      

  4.   

    不行,用了Invalidate,成了个病毒程序一样,屏一直在闪,CPU占用98%。我在一个函数里用的
    void CInkJetView::DisplayChar(CString MessageTemp)
    {
     CClientDC dc(AfxGetMainWnd());
      // ???想先清屏,再显示内容
     dc.TextOut(MessageTemp);
    }
      

  5.   

    画完后加上Invalidate(); UpdateWindow(); 看看
      

  6.   

    回复:
    shagua0916()  
    ==============
    不行,用了Invalidate,成了个病毒程序一样,屏一直在闪,CPU占用98%。我在一个函数里用的
    void CInkJetView::DisplayChar(CString MessageTemp)
    {
     CClientDC dc(AfxGetMainWnd());
      // ???想先清屏,再显示内容
     dc.TextOut(MessageTemp);
    }
    =========================难道你在Ondraw里面用Invalidate()?
    那是嵌套调用,不狂闪才怪呢!没死机算你幸运
    想把屏幕清空你可以这样啊:
    CRect rectClient;
    GetClientRect(&rectClient);
    pDC->FillSolidRect(&rectClient, RGB(0xcc,0xcc,0xcc));
      

  7.   

    我没有在ONDRAW里面用呀,是void CInkJetView::DisplayChar呀,不过你的方法我试试看!