资源简介
打印内容绘制类,使用该类可轻松获得当前打印机的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标准协议
相关资源
- VC++开发的仓库管理系统设计文档和
- dianyajiance.rar
- 华为边缘计算核心板开发帮助手册
- 基于QT的网络视频直播软件
- OpenGL实践三:水面涟漪的逼真绘制毕
- libcurl+图灵机器人api编写的只能聊天系
- Qt版塔防游戏
- 黑马程序员-Qt讲义.pdf
- STL源码剖析.pdf(侯捷,完整版,已加
- 自己编写的E00读写程序
- 计算机图形学绘制任意斜率直线段.
- 搜索网络中的打印机
- 敏感词统计与过滤系统
- 一个复杂的电梯调度程序
- ofdEditor.zip
- 虚拟磁盘系统完整项目
- 基于颜色识别的火焰检测算法的open
- GNSS-SDR_manual.pdf (v0.0.9)
- Qt GUI 界面通用系统模板 源码
- 英雄联盟10.26最新走A
- 基于QT的捕鱼达人小游戏
- 两个吃一个棋类游戏
- opencv3.4.3 mingw32编译
- 路灯控制系统开源
- qt-vsaddin-msvc2017-2.2.2.vsix
- NOIP2019提高组突破营课件.rar
- zigbee的无线通信
- 云盘项目开发全部内容包括源码解析
- 计算机算法设计与分析 第4版 (王晓
- 汉字转拼音,支持几乎所有汉字,已
评论
共有 条评论