在文档视图结构程序中,用ceditview做基类,打开文本文件后即能显示,加了onpaint后却不能显示了.
void Ctest34View::OnPaint()
{
CPaintDC dc(this);
CEditView::OnPaint();
}

解决方案 »

  1.   

    文档结构的程序不能过载这个函数,
    文档结构的程序的绘图操作是在CView::OnDraw()中完成的,
    过载了OnPaint后OnDraw会被屏蔽掉
      

  2.   

    我是用来打开文本文件的,是用ceditview做基类,做好后OnDraw()已不能响应了,但还能显示文本内容,就是添加了onpaint后,就无显示,这为什么呢?
      

  3.   

    文档结构的程序不能过载这个函数,
    文档结构的程序的绘图操作是在CView::OnDraw()中完成的,
    过载了OnPaint后OnDraw会被屏蔽掉--------------------------------
    其实现在的问题不是你说的这样. 它调用的视图类的实现 .,但是这样也是不对的. void Ctest34View::OnPaint()
    {
    CPaintDC dc(this);
    CEditView::OnPaint();
    }你这里声明了CPaintDC  对象,
    该对象在构造和析构的时候把 重绘的DC给处理掉了.所以你的OnDraw里现在的重绘区域是空的,也就是说OnDraw里画的都无效了.一般视图类里不建议响应WM_PAINT消息.
      

  4.   

    另: EDITVIEW 不能响应WM_PAINT 也不能重载 OnDraw函数.EditView是通过Edit控件来实现的