紧急求救!为什么打印不了!!!(在线等待)

kitling 2003-05-27 09:06:44
if(pDC->IsPrinting())
{
DOCINFO docinfo;
memset(&docinfo, 0, sizeof(docinfo));
docinfo.cbSize = sizeof(docinfo);
docinfo.lpszDocName = _T("CDC::StartDoc() Code Fragment");

pDC->StartDoc(&docinfo);
if(page==1)
{
pDC->StartPage();
pDC->TextOut(10,10,"page 1");
page++;
pDC->EndPage();
}
else
{
pDC->StartPage();
pDC->TextOut(10,10,"page 2");
page--;
pDC->EndPage();
}
pDC->EndDoc();
}

以上代码在ondraw()中,运行时预缆可用,但打印不可用,跟踪到:

if (dcPrint.EndPage() < 0 || !_AfxAbortProc(dcPrint.m_hDC, 0))
{
bError = TRUE; //这里执行了!!!
break;
}

把pdc->startdoc(),pdc->startpage(),pdc->endpage(),pdc->enddoc()去掉就没事了,但我要打两页。

请问谁知道怎么回事?如何改?

急!!!谢谢!!!
...全文
31 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
kitling 2003-05-29
  • 打赏
  • 举报
回复
再to jnxulei(石头) :

如下
void CMainFrame::OnMPrint()

CTempView *pView=NULL;
。。。。


编译时有错误
error C2065: 'CTempView' : undeclared identifier

好像
CView是在CMainFrame后生成的,怎么办。。。谢谢。。。
kitling 2003-05-29
  • 打赏
  • 举报
回复
to jnxulei(石头) :
谢谢你。我看了你的文章。

但是我只想做一个简单打印程序:即在显示时显示很长的内容,然后打印时把它分成两页来打印就可以了。

另外,我看到你的文章里也用了startdoc()、startpage()。。。了,你是在什么地方调用的,在ondraw()中不能用吗?
丁淇石头 2003-05-28
  • 打赏
  • 举报
回复
应在OnPraparePrinting中控制当pView->m_nMode=2时不弹出打印对话框。
丁淇石头 2003-05-28
  • 打赏
  • 举报
回复
我前两天刚发了一个帖子,你可以看看
http://expert.csdn.net/Expert/topic/1701/1701559.xml?temp=.8957636
你如果是调用了MFC的打印,可以自己新建一菜单
void CMainFrame::OnPrintOnDoublePage()//自己定义的菜单响应函数
{
CYourView *pView=NULL;
pView=(CYourView*)(this->GetActiveView());//你的视图对象指针。
if (pView==NULL){
return;
}
pView->m_nMode=1;//表示正面
pView->OnCmdMsg(ID_FILE_PRINT,NULL,NULL,NULL);
MessageBox("请将打印纸的反面放入打印机,按OK继续。");
pView->m_nMode=2;//表示反面
pView->OnCmdMsg(ID_FILE_PRINT,NULL,NULL,NULL);
}
tigercant 2003-05-28
  • 打赏
  • 举报
回复
up
resound 2003-05-28
  • 打赏
  • 举报
回复
如果你用的是View,可以在OnPreparePrinting中设置要打印的页数:
pInfo->SetMaxPage(5); // 设置最大页数据为5
pInfo->m_nCurPage = 1; // start printing at page# 1
Startpage,stoppage是框架调用的.不是在OnDraw中调用的,
你不要管它,在View 的 OnPrint( CDC *pDC, CPrintInfo *pInfo )
中的pInfo->m_nCurPage即是当前要打印的页,可根据你要的绘制各页不同画面.

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧