具体步骤:
- 获得打印机DC(设备环境句柄).
- 开始打印(StartDoc).
- 开始一页(StartPage).
- 对DC进行绘图操作,就像往窗口上画图一样。
- 结束一页(EndPage).
- 结束打印(EndDoc)或转到第3步再开始新的一页.
- 删除打印创建的资源,如:释放DC(ReleaseDC)、删除字体、画笔、画刷之类的对象(DeleteObject)
第一步:
获得打印机DC(设备环境句柄)
可以用PrintDlg函数来获取DC。具体代码如下:
HDC hdc;
PRINTDLG printInfo;
ZeroMemory(&printInfo,sizeof(printInfo)); //清空该结构
printInfo.lStructSize = sizeof(printInfo);
printInfo.hwndOwner = 0;
printInfo.hDevMode = 0;
printInfo.hDevNames = 0;
printInfo.Flags = PD_RETURNDC | PD_RETURNDEFAULT | PD_ALLPAGES;
//PD_RETURNDC指定返回DC,PD_RETURNDEFAULT 指定不显示打印设置对话框直接返回默认设置
PrintDlg(&printInfo);//调用API拿出默认打印机
DWORD rst = CommDlgExtendedError();//看看出错没有
if(rst != 0)
{//出错了,清空标志再次调用API,此时就会弹出打印设置对话框供用户选择了
printInfo.Flags = 0;
PrintDlg(&printInfo);
}
hdc = printInfo.hDC; //得到打印DC第二步:
开始打印(

这篇博客介绍了打印机编程的基础步骤,包括获取打印机DC、开始打印、绘制页面、结束打印及清理资源。通过PrintDlg函数获取设备环境句柄,并展示了如何在DC上进行绘图操作。文章适合初级学习者,作者提醒可能存在错误并邀请读者指正,还推荐了中级篇内容作为深入学习的资源。
最低0.47元/天 解锁文章
8140

被折叠的 条评论
为什么被折叠?



