发这个帖子的时候,我已经发过了一个类似的帖子:
http://community.csdn.net/Expert/topic/3728/3728580.xml?temp=.1429712描述一下我的问题:
    VC/MFC建立的单文档项目。建立一个Dialog,填加一个Button控件,在对应的事件处理中填加代码:CMyView *pView = (CMyView *)((CMainFrame *)AfxGetMainWnd())->GetActiveView()来获取视图类指针。
    现在我想通过pView来调用视图类的OnPrint()函数,但是OnPrint()函数有两个参数,CDC* pDC 和CPrintInfo* pInfo。请问一下,这两个参数我应该怎么传递?不知道这种想法是不是可以实现?请高手指点,谢谢!学习,关注……

解决方案 »

  1.   

    GetDC(pView);
    关于第二个参数,使用NULL试试
      

  2.   

    如果仅仅想刷新,用Invalidate()或PostMessage(WM_PAINT)就行.
      

  3.   

    可以直接调用CView::OnFilePrint/CView::OnFilePrint/CView::OnFilePrintPreview
      

  4.   

    实际上MFC默认的情况下就是在这几个函数中构造CDC和CPrintInfo对象的,并且调用一系列的印刷函数。
    另外,直接呼叫OnPrint并不能完成全部的打印工作,关于这点,可以参考《深入浅出MFC》第12章
      

  5.   

    就如 StarsWu(☆<--->☆) 所说的:我呼叫OnPrint()是为了在“打印预览”的界面进行刷新。我发现在“打印预览”的界面刷新,必须要点击“放大”或“缩小”才可以。我想要自己在“打印预览”的界面的工具栏上加一个“按钮”来进行刷新。先试试上述的方法谢谢!