Windows API ---打印API
来源:互联网 发布:photoshop的mac破解版 编辑:程序博客网 时间:2024/04/28 10:07
最近在给以个客户做一个POS机上的打印程序,其实现的简单思路大致如下:
void ComPrint()
{
static int nIndex = 1;
HDC dc;
// USES_CONVERSION;
DEVMODEW lpdevmodew;
memset(&lpdevmodew, 0, sizeof(DEVMODEW));
lpdevmodew.dmSize = sizeof(DEVMODEW);
wcscpy( lpdevmodew.dmDeviceName, _T("XDLThermal Printer") );
lpdevmodew.dmPaperSize = 0; // 0 means User Define
lpdevmodew.dmPaperLength = 800; //600 // Length for 1000 C.L
lpdevmodew.dmPaperWidth = 800; // Width 80 mm
lpdevmodew.dmPrintQuality = -4;
DWORD status;
DWORD dwRtn = PrinterStatus(&status);
dc = CreateDC(TEXT("MyPrint.dll"), TEXT("XDL Thermal Printer"), TEXT("XDLBuild-In"), (DEVMODE *)(&lpdevmodew) ); //这个是驱动哦,这里不多说,直接CALL驱动的DLL就OK。
if(dc == NULL)
{
//return 0;
}
DOCINFO di;
LOGFONT lf;
RECT rt;
di.cbSize = sizeof(DOCINFO);
di.lpszDocName = TEXT("Hello World");
ZeroMemory(&lf, sizeof(lf));
lf.lfHeight = 40;
lf.lfWidth = 7;
::lstrcpy(lf.lfFaceName,_T("Arial"));
HFONT hFont, hOldFont, hRMB, hOldRmb;
// hFont = CreateFontIndirect(&lf);
// hOldFont = (HFONT)SelectObject(dc, hFont);
lf.lfHeight = 45;
lf.lfWidth = 8;
lf.lfWeight = FW_BOLD;
hRMB = CreateFontIndirect(&lf);
hOldFont = (HFONT)SelectObject(dc, hRMB);
StartDoc(dc, &di);
StartPage(dc);
rt.right = 700;
rt.top = 0;
rt.bottom = 80;
rt.left = 0;
// hOldFont = (HFONT)SelectObject(dc, hFont);
SelectObject(dc, hRMB);
TCHAR szTemp[32] = {0};
wsprintf(szTemp, _T("Print -- %i"), nIndex);
DrawText(dc,szTemp, -1, &rt, DT_CENTER);
/*
for(int i=0; i<2; i++)
{
//打印宽度由rt.right决定
DrawText(dc,TEXT("ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUV"),-1,&rt, DT_WORDBREAK);
OffsetRect(&rt, 0, 45); //平移矩形,相当于换行
}
*/
SelectObject(dc, hOldFont);
EndPage(dc);
EndDoc(dc);
nIndex++;
// DeleteObject(hFont);
DeleteObject(hRMB);
DeleteDC(dc);
return 0;
}
VOID EndPrint(HWND hWnd,HINSTANCE hInst,HDC hdc,HFONT hFont,HFONT hLargeFont,HFONT hOldFont,DWORD dwMessage)
{
SelectObject(hdc,hOldFont);
EndPage(hdc);
EndDoc(hdc);
DeleteObject(hFont);
DeleteObject(hLargeFont);
DeleteDC(hdc);
WaitForPrinter(hWnd);
}
- Windows API ---打印API
- Windows API之打印函数
- Windows API函数大全(API之打印函数)
- Windows API
- Windows API
- Windows API
- Windows API
- Windows API
- Windows API
- windows API
- Windows API
- Windows API
- Windows API
- windows API
- Windows API
- windows API
- WINDOWS API
- Windows API
- 轻松掌握Windows窗体间的数据交互
- OO ALV 不显示应用工具条行
- linux打补丁和查找文件
- SQL Server高可用性部署实施
- IT人员迅速提升自我效率的十大方法
- Windows API ---打印API
- SQL Server 镜像服务简述
- Transact-SQL编程规范
- 项目论证与评估
- Repeater within ASP.NET 2.0 Gridview
- C#中UPDATE的用法
- 后台打开一个子窗口,显示在屏幕中间,关闭子窗体刷新子窗体代码 .
- loadrunner关联实例
- C语言基础