敬业的IT人 >> 编程开发 >> Visual C++/MFC >> 怎样用CPrintDialog来实现打印功能

怎样用CPrintDialog来实现打印功能

敬业的IT人 互联网 佚名 2008-1-4 18:57:07
把以下程序段加入你的程序
把dc1当作Device Content.
就任你打印了.注意别画错地方.
自己换页.
更绝的是可调用窗口的OnPrint或OnDraw成员函数直接打印.不用你去做行距多少啦!
但别忘换页.

// 打印
// 建立打印对话框对象
CPrintDialog
d1(FALSE,PD_ALLPAGES|PD_ALLPAGES|PD_NOPAGENUMS,NULL);
HDC dc1;


if(d1.DoModal()==IDOK){
// 返回一个打印DC句柄
dc1=d1.GetPrinterDC();

// 启动打印工作
StartDoc(dc1,&docin);

// 一页开始
StartPage(dc1);

dc1.textout(.....)
dc1.draw(....)
....

// 一页结束
EndPage(dc1);

可以有多个StartPage(dc1)
...
EndPage(dc1)

// 终止打印工作
EndDoc(dc1);
// 删除句柄
if(DeleteDC(dc1)){
return TRUE;
}else{
出错信息
EndDoc(dc1);
// 删除句柄
if(DeleteDC(dc1)){
return TRUE;
}else{
出错信息
}
}

粤ICP备06119539号
Copyright CiscoSky.Org,Some Rights Reserved.
Email:me1228#tom.com