继承一个CScrollView类,在Protected 中申明 CView* m_pPrintView;
有执行语句 m_pPrintView->OnEndPrinting(m_pPreviewDC, m_pPreviewInfo);
但编译时出错,内容为:
error C2248: 'OnEndPrinting' : cannot access protected member declared in class 'CView'不知为何不能访问。请赐教。

解决方案 »

  1.   

    你想干什么?OnEndPrinting是CView类的保护成员,不能直接访问。
      

  2.   

    OnEndPrinting函数是一个保护成员函数,所以类的实例不能调用,想用的话就把他变成公有成员吧,不过那样可能会破坏MFC的结构:)
      

  3.   

    OnEndPrinting函数是一个保护成员函数,所以类的实例不能调用,想用的话就把他变成公有成员吧,不过那样可能会破坏MFC的结构:)
      

  4.   

    To:LeoKing  
     我修改CView 使其变成公有的,能行吗?
      

  5.   

    从CView派生一个类,派生类中就可以调用父类的保护成员。
      

  6.   

    没有必要啊,CView,CScrollView甚至CFormVIew,CListView,CTreeView等CCtrlView的子类都可以支持打印和打印预览。
    如果你一定要这么做,建议你先做一个CView的子类如CMyView,其中设计一个公有成员函数:
    CMyView::EndPrinting(CDC* pDC,CPrintInfo* pInfo)
    {
      CView::OnEndPrinting(pDC,pInfo);
    }
    然后再像你那样做就行了。
      

  7.   

    只不过要用CMyView代替CView声明指针
      

  8.   

    同意 Davis_Dai(霏霏) 的解决办法
      

  9.   

    以public方式从CView派生类可以访问其保护成员。
      

  10.   

    请问各位高手, 我的ACCESE 数据库破坏了,有什么工具可以修复吗?