您的位置:首页 > 其它

关于ListView的打印问题

2007-08-20 23:00 281 查看
问题:

在VC里CListView不像CEditView那样,只要你在建工程的向导里加了打印相关选项就会出现打印相关函数。CListView加了也白加。

最终解决办法 :

1、手动添加相关函数:

virtual BOOL OnPreparePrinting(CPrintInfo* pInfo);
virtual void OnBeginPrinting(CDC* pDC, CPrintInfo* pInfo);
virtual void OnPrint(CDC* pDC, CPrintInfo* pInfo);
virtual void OnEndPrinting(CDC* pDC, CPrintInfo* pInfo);

ON_COMMAND(ID_FILE_PRINT, CListView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_DIRECT, CListView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_PREVIEW, CListView::OnFilePrintPreview)

// CMenuInfoView 打印

BOOL CMenuInfoView::OnPreparePrinting(CPrintInfo* pInfo)
{
m_Print.OnPreparePrinting(pInfo);
return DoPreparePrinting(pInfo);
}

void CMenuInfoView::OnBeginPrinting(CDC* pDC, CPrintInfo* pInfo)
{
m_Print.OnBeginPrinting(pDC, pInfo);
}

void CMenuInfoView::OnPrint(CDC* pDC, CPrintInfo* pInfo)
{
m_Print.OnPrint(pDC, pInfo);
}

void CMenuInfoView::OnEndPrinting(CDC* pDC, CPrintInfo* pInfo)
{
// 默认 CEditView 结束打印
m_Print.OnEndPrinting(pDC, pInfo);
}

2、添加第三方的ListView打印类并声明对象

CListDemoViewPrint m_Print;

3、程序会在打印的时候报错:

在rc文件中添加关键的一句
#include "l.chs//afxprint.rc" // printing/print preview resources
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: