最近用的一些知识点
来源:互联网 发布:centos 7 pxelinux.0 编辑:程序博客网 时间:2024/05/17 01:46
CString a,b;//改变字符串的大小写
a.MakeLower();
b.MakeUpper();
char szprinter[80];
//操作打印机
char *szDevice,*szDriver,*szOutput;
di.cbSize = sizeof(DOCINFO);
int i=di.cbSize;
di.lpszDocName = "printer";
di.lpszOutput = (LPTSTR) NULL;
di.lpszDatatype = (LPTSTR) NULL;
di.fwType = 0;
PRINTDLG pd;
ZeroMemory(&pd, sizeof(PRINTDLG));
AfxGetApp()->GetPrinterDeviceDefaults(&pd);
// 得到设备字符串存入数组szprinter中
GetProfileString("windows","device",",,,",szprinter,80);
// 将设备字符串分解
if(NULL!=(szDevice=strtok(szprinter,","))&&
NULL!=(szDriver=strtok(NULL,","))&&
NULL!=(szOutput=strtok(NULL,",")))
// 创建一个打印机设备句柄
hdcprint=CreateDC(szDriver,szDevice,szOutput,NULL);
DEVMODE* lpDevMode=(LPDEVMODE)::GlobalLock(pd.hDevMode);
//Do something with the data...
//重新定义纸张大小
lpDevMode->dmPaperSize = DMPAPER_USER; //设定为自定义纸张尺寸
lpDevMode->dmFields |= DM_PAPERSIZE; //允许重新设置纸张大小
lpDevMode->dmFields |= DM_PAPERLENGTH; //允许重新设置纸张大小
lpDevMode->dmFields |= DM_PAPERWIDTH; //允许重新设置纸张大小
lpDevMode->dmPaperWidth = 1800; //设定纸长为 3 厘米
lpDevMode->dmPaperLength = 1780; //设定纸长为 3 厘米
rcText.left = 0;
rcText.top = 0;
rcText.right = 1200;
rcText.bottom = 2000;
GlobalUnlock(pd.hDevMode);
ResetDC(hdcprint,lpDevMode); //使设置的参数发挥作用
if(hdcprint!=0)
{
if(StartDoc(hdcprint,&di)>0) //开始执行一个打印作业
{
StartPage(hdcprint); //打印机走纸,开始打印
SaveDC(hdcprint); //保存打印机设备句柄
// 输出一行文字
DrawText(hdcprint,a,a.GetLength(),rcText, DT_LEFT | DT_WORDBREAK);
RestoreDC(hdcprint,-1); //恢复打印机设备句柄
EndPage(hdcprint); //打印机停纸,停止打印
EndDoc(hdcprint); //结束一个打印作业
//MessageBox("打印完毕!","提示",MB_ICONINFORMATION);
}
}
else
{
MessageBox("没有默认打印机,或者没有安装打印机!");
return;
}
a.MakeLower();
b.MakeUpper();
char szprinter[80];
//操作打印机
char *szDevice,*szDriver,*szOutput;
di.cbSize = sizeof(DOCINFO);
int i=di.cbSize;
di.lpszDocName = "printer";
di.lpszOutput = (LPTSTR) NULL;
di.lpszDatatype = (LPTSTR) NULL;
di.fwType = 0;
PRINTDLG pd;
ZeroMemory(&pd, sizeof(PRINTDLG));
AfxGetApp()->GetPrinterDeviceDefaults(&pd);
// 得到设备字符串存入数组szprinter中
GetProfileString("windows","device",",,,",szprinter,80);
// 将设备字符串分解
if(NULL!=(szDevice=strtok(szprinter,","))&&
NULL!=(szDriver=strtok(NULL,","))&&
NULL!=(szOutput=strtok(NULL,",")))
// 创建一个打印机设备句柄
hdcprint=CreateDC(szDriver,szDevice,szOutput,NULL);
DEVMODE* lpDevMode=(LPDEVMODE)::GlobalLock(pd.hDevMode);
//Do something with the data...
//重新定义纸张大小
lpDevMode->dmPaperSize = DMPAPER_USER; //设定为自定义纸张尺寸
lpDevMode->dmFields |= DM_PAPERSIZE; //允许重新设置纸张大小
lpDevMode->dmFields |= DM_PAPERLENGTH; //允许重新设置纸张大小
lpDevMode->dmFields |= DM_PAPERWIDTH; //允许重新设置纸张大小
lpDevMode->dmPaperWidth = 1800; //设定纸长为 3 厘米
lpDevMode->dmPaperLength = 1780; //设定纸长为 3 厘米
rcText.left = 0;
rcText.top = 0;
rcText.right = 1200;
rcText.bottom = 2000;
GlobalUnlock(pd.hDevMode);
ResetDC(hdcprint,lpDevMode); //使设置的参数发挥作用
if(hdcprint!=0)
{
if(StartDoc(hdcprint,&di)>0) //开始执行一个打印作业
{
StartPage(hdcprint); //打印机走纸,开始打印
SaveDC(hdcprint); //保存打印机设备句柄
// 输出一行文字
DrawText(hdcprint,a,a.GetLength(),rcText, DT_LEFT | DT_WORDBREAK);
RestoreDC(hdcprint,-1); //恢复打印机设备句柄
EndPage(hdcprint); //打印机停纸,停止打印
EndDoc(hdcprint); //结束一个打印作业
//MessageBox("打印完毕!","提示",MB_ICONINFORMATION);
}
}
else
{
MessageBox("没有默认打印机,或者没有安装打印机!");
return;
}
- 最近用的一些知识点
- 最近的一些知识点索引
- 最近学习的一些知识点
- 最近学习的一些知识点的网址
- angularJS最近总结一些零碎的知识点
- 最近遇到的一些关于datatable插件的知识点
- 最近学习安卓中总结的一些知识点 复制代码
- 最近了解到的知识点
- 最近看的知识点
- 最近的学习知识点记录
- 最近碰到一些python的小知识点,容易错的地方
- 最近看的一些关于数据结构和C++的面试知识点总结
- 最近在用asp的一些经验
- 最近用MySql的一些问题
- 最近用unity5弄的一些渲染
- 最近的一些开发
- 最近的一些想法
- 最近的一些感触
- UML组件图详解
- [转]java ArrayList排序
- 框架iFrame只要竖滚动条,不要横滚动条
- 在最美的时候,你遇见了谁?
- java提取word内容
- 最近用的一些知识点
- 解决方案:用户 'sa' 登录失败。原因: 未与信任 SQL Server 连接相关联。
- 带进度条文件上传
- JAVA编写的计算器源代码
- 致精团队笔试题2道
- oracle 删除用户命令和部分命令
- [Struts2.0学习笔记]if-elseif-else标签
- 支持奥运,反对藏独,我们需要更团结!
- 简单sql