vc/mfc单文档项目1、默认的“打印预览”里面有一个“下一页”按钮,我发现当我要打印的文档超过一页的时候,那个按钮根本不起作用。是不是要填加什么额外的代码,默认的分页功能才能启用。2、我自己定义了一个DrawForm函数,用来画表格(表格是通过循环语句来画的),然后在OnPrint中调用它,从而实现打印表格的功能。我的问题是:当表格的行数过多,一页打不下的时候,要如何实现分页的功能?请高手指点……学习,关注……

解决方案 »

  1.   

    有没有人可以帮我啊……HELP……
      

  2.   

    要先设置页数
    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();
    }}
      

  3.   

    to:tonyswe(tong)我试了一下,好象不行啊!请高手指点啊!学习,关注……
      

  4.   

    to:SoFaint(初学着……)应该行的, 是你自己没写好吧,上面代码还要你自己修改的。
    建议参考例子,
    http://www.vczx.com/article/list.php?type=6