实现单文档ListView类型的打印、预览功能

先到http://download.csdn.net/source/1732651下载一个打印类,这个是类是在codeproject里找到的,然后将里面的

 

#include "AutoStuMisDoc.h" #include "AutoStuMisView.h"

改为你要应用的程序的头文件。

 

然后在你要用的视图.h中添加两个变量

 

 CListCtrl& m_cListCtrl;


 CListDemoViewPrint m_Print;

 

然后在构造函数中初始化 :m_cListCtrl( GetListCtrl() )

 

接着在OnInitialUpdate()函数中添加

// Initialize printing m_Print.SetListCtrl(&m_cListCtrl); m_Print.SetListView(this); m_Print.SetAppName(AfxGetAppName()); m_Print.SetDocTitle(GetDocument()->GetTitle());

 

然后更改下面四个函数就可以了

 

BOOL CAutoStuMisView::OnPreparePrinting(CPrintInfo* pInfo) { // default preparation m_Print.OnPreparePrinting(pInfo); return DoPreparePrinting(pInfo); } void CAutoStuMisView::OnBeginPrinting(CDC* pDC, CPrintInfo* pInfo) { // TODO: add extra initialization before printing m_Print.OnBeginPrinting(pDC, pInfo); } void CAutoStuMisView::OnPrint(CDC* pDC, CPrintInfo* pInfo) { // TODO: Add your specialized code here and/or call the base class m_Print.OnPrint(pDC, pInfo); } void CAutoStuMisView::OnEndPrinting(CDC* pDC, CPrintInfo* pInfo) { // TODO: add cleanup after printing m_Print.OnEndPrinting(pDC, pInfo); }

 

运行一下就可以了。

 

希望对大家有帮助。

你可能感兴趣的:(ListView,Class,文档,initialization,printing)