关于ListView的打印问题

问题:

在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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值