把以下程序段加入你的程序 把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{ 出错信息 } }
|