您的位置:首页 > 其它

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

2009-10-11 14:47 471 查看
先到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);
}


运行一下就可以了。

希望对大家有帮助。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: