如何在VC中判断一个文挡的打印操作已经结束(200分)

  • 主题发起人 主题发起人 bbm36
  • 开始时间 开始时间
呵呵~,借花献佛:

在OnPrint中加上
CMyDoc *pDoc = GetDocument();
TEXTMETRIC tm;
pDC->GetTextMetrics(&tm);
int textHeight = tmHeight;
int linesPerPage = abs(pInfo->m_rectDraw.Height()) / textHeight - 1;

int i, x;
for (i=0; i < linesPerPage; i++)
{
  x = (pInfo->m_nCurPage - 1) * linesPerPage + i;
    if (x >= pDoc->NumLine()) //NumLine()得到文本的行数,是自己加入Document的成员函数
      {
//continuePrinting为View的一个BOOL型成员变量,用来设定打印状态。
        continuePrinting = FALSE; 
        break;
      }

//处理打印
}

在OnPrepareDC中加上
pInfo->m_bContinuePrinting = continuePrinting;

在OnBeginPrinting中加上
continuePrinting = TRUE;
 
取消打印设置的后台打印,就会等待打印完才返回打印调用
 
多人接受答案了。
 
后退
顶部