以下是我在wince中的打印程序,因为暂时没有打印机测试,所以不知道逻辑上有什么问题,请大家帮看看~~~
void print()
{
CDC dcPrinter;
DOCINFO di;
HDC A;
char b[]="xxx";//打印机驱动名
A=CreateDC((LPCWSTR)b,NULL,NULL,NULL);
dcPrinter.Attach(A);
memset(&di,0,sizeof(DOCINFO));
di.cbSize = sizeof(DOCINFO);
di.lpszDocName = _T("Sample Document");
if(dcPrinter.StartDoc(&di) != 0)
{
StartPage(dcPrinter);
dcPrinter.StretchBlt(0,0,0,0,&dcMem,0,0,0,0,SRCCOPY);
EndPage(dcPrinter);
EndDoc(dcPrinter);
}
DeleteDC(dcPrinter); // TODO: 在此添加控件通知处理程序代码
}
逻辑上没有问题啊...你只打印一页数据吗?
可以增加一个printdialog来选择打印设备
CPrintDialog dlg(FALSE);
CDC dc;
BOOLEAN bPrintingOK = FALSE;
if (dlg.DoModal() != IDOK) // Get printer settings from user
return;
dc.Attach(dlg.GetPrinterDC()); // attach a printer DC
引用: 引用 1 楼 flandy1982 的回复:
逻辑上没有问题啊...你只打印一页数据吗?
可以增加一个printdialog来选择打印设备
CPrintDialog dlg(FALSE);
CDC dc;
BOOLEAN bPrintingOK = FALSE;
if (dlg.DoModal() != IDOK)? ? ? ? ? ? // Get printer settings from user
? ? return;
dc.Attach(dlg.GetPrinterDC());? ? ? ? // attach a printer DC
wince不支持CPrintDialog类啊,大哥