资源简介
打印内容绘制类,使用该类可轻松获得当前打印机的HDC,直接在HDC上绘制图像既可,类中集成了打印机的自动检测识别。

代码片段和文件信息
#include “Printer.h“
CPrinter::CPrinter(void)
{
m_hdcprinter = NULL;
m_nPrinterWidth = 0;
m_nPrinterHeight = 0;
}
CPrinter::~CPrinter(void)
{ReleasePrinterHDC();}
HDC* CPrinter::GetPrinterHDC()
{
if(m_hdcprinter != NULL)
return &m_hdcprinter;
char szprinter[80];
char *szDevice*szDriver*szOutput;
//定义一个打印作业
static DOCINFO di={sizeof(DOCINFO)“printer“NULL};
m_pDi = &di;
// 得到设备字符串存入数组szprinter中
GetProfileString(“windows““device“““szprinter80);
// 将设备字符串分解
if(NULL!=(szDevice=strtok(szprinter““))&&
NULL!=(szDriver=strtok(NULL““))&&
NULL!=(szOutput=strtok(NULL““)))
{
// 创建一个打印机设备句柄
if((m_hdcprinter = CreateDC(szDriverszDeviceszOutputNULL)) != 0)
{
m_nPrinterWidth = GetDeviceCaps(m_hdcprinterHORZRES);
m_nPrinterHeight = GetDeviceCaps(m_hdcprinterVERTRES);
return &m_hdcprinter;
}
else
{
OutputDebugString(“Get printer HDC fail\n“);
return NULL;
}
}else
{
OutputDebugString(“Get printer fail\n“);
return NULL;
}
}
void CPrinter::ReleasePrinterHDC()
{
if(m_hdcprinter != NULL)
{
DeleteDC(m_hdcprinter);
m_hdcprinter = NULL;
}
}
bool CPrinter::StartPrint()
{
if(m_hdcprinter == NULL) return false;
if(StartDoc(m_hdcprinterm_pDi)>0) //开始执行一个打印作业
{
StartPage(m_hdcprinter); //打印机走纸开始打印
SaveDC(m_hdcprinter); //保存打印机设备句柄
return true;
}
return false;
}
void CPrinter::EndPrint()
{
RestoreDC(m_hdcprinter-1); //恢复打印机设备句柄
EndPage(m_hdcprinter); //打印机停纸停止打印
EndDoc(m_hdcprinter); //结束一个打印作业
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 979 2010-09-21 16:47 Printer.h
文件 1657 2010-09-21 16:45 Printer.cpp
----------- --------- ---------- ----- ----
2636 2
- 上一篇:TV盒子助手.zip
- 下一篇:3GPP标准协议
相关资源
- grads绘制雨量(GRID.GRD)
- VisualStudioUninstaller vs卸载工具
- 组态王驱动开发包3.0.0.7(中文)
- 多窗口后台鼠标连点器
- 使用选择性重传协议实现UDP可靠通信
- Bresenham算法绘制线段并利用“橡皮筋
- VC 获得文件属性 获取文件的创建时
- 读者写者问题(读者优先,写者优先
- 用VC 编写的仿QQ聊天室程序源代码
- 外点法程序
- 外罚函数程序
- qt-电子点菜系统
- 推箱子及人工智能寻路C 源代码
- 自己写的航空订票系统c 版--数据结构
- 数据结构实验魔王语言
- MUSIC算法c 实现
- C 餐厅叫号系统(QT平)
- 国际象棋c 完整版
-
ob
jectARX给Auto CAD加工具条 - 画图程序MFC/VC/VC CRectTracker 串行化
- MFC网络编程实例
- c 课程设计 职工信息管理系统
- VC 游戏编程—附源代码
- IpHlpApi.h&IpHlpApi.lib
- 清华大学 c 郑莉 ppt课件
- c 程序判断离散数学中命题公式
- 多项式求和(数据结构C 版)
- vc 6.0开发的流程图编辑器
- 绘制曲线图软件
- MFC中OpenGL面和体的绘制以及动画效果
评论
共有 条评论