vc/mfc单文档项目1、默认的“打印预览”里面有一个“下一页”按钮,我发现当我要打印的文档超过一页的时候,那个按钮根本不起作用。是不是要填加什么额外的代码,默认的分页功能才能启用。2、我自己定义了一个DrawForm函数,用来画表格(表格是通过循环语句来画的),然后在OnPrint中调用它,从而实现打印表格的功能。我的问题是:当表格的行数过多,一页打不下的时候,要如何实现分页的功能?请高手指点……学习,关注……
解决方案 »
- 求一个VS2010操作Excel2007的例子
- 几个关于MSCOMM控件串口通信编程的问题??
- 请问Interlocked Variable Access、 Critical Section和Event 和 Mutex 的执行效率有何差异?
- 有人安装了VS2005吗?需要激活吗?好用吗?
- SOS:(高分)如何远程修改主机的IPADDREESS(windows2000,不用重启)
- 请教一个简单的问题,API函数调用
- delete 的问题,再线等待!
- 怎样才能得知一个窗口是处于HIDE还是SHOW的状态?
- vc++的一个小问题
- CTime对象占几个字节
- 请高手进来看看,合并这样的数据,只用SQL语句行不行?HELP……
- 需要《CodeGuru Visual C++ 编程精粹》的随书光盘。提供的话,加够50分相送。
BOOL CYourView::OnPreparePrinting(CPrintInfo* pInfo)
{
CEx19bDoc* pDoc = GetDocument();
pInfo->SetMaxPage(m_nTotalPage); //设置总页数
return DoPreparePrinting(pInfo);
}打印页数一般要根据你打印内容的行数和每行的高度,和每页显示的行数设定.在OnPrint(CDC* pDC,CPrintInfo* pInfo)中可以这样处理,,void CDlgPreprintDlg::OnPrint(CDC* pDC,CPrintInfo* pInfo)
{
//根据当前页pInfo->m_nCurPage
//比如
m_nPage = pInfo->m_nCurPage;
nStart = (m_nPage - 1) * nLinesPerPage; //根据当前页显示相应的内容
nEnd = nStart + nLinesPerPage;
for (i = nStart; i < nEnd; i++)
{
DrawForm();
}}
建议参考例子,
http://www.vczx.com/article/list.php?type=6