void CPrinterView::OnBtnPrint()
{
HDC PrintDC;
DOCINFO docin;
docin.cbSize = sizeof(DOCINFO);
docin.lpszDocName = "TestDoc";
docin.lpszOutput = NULL;
CPrintDialog PrintDialog(TRUE, PD_ALLPAGES|PD_NOPAGENUMS, NULL);
if(!PrintDialog.GetDefaults()) return;
PrintDC = PrintDialog.CreatePrinterDC();
DEVMODE* lpDevMode = (DEVMODE*)PrintDialog.GetDevMode();
lpDevMode->dmPaperSize = DMPAPER_USER;
lpDevMode->dmFields |= DM_PAPERSIZE;
lpDevMode->dmPaperLength = 529;
lpDevMode->dmPaperWidth = 500;
ResetDC(PrintDC,lpDevMode);
StartDoc(PrintDC,&docin);
StartPage(PrintDC); /////////////////////////////////////////////////////////
CFont font;
font.CreateFont(
30, // nHeight
0, // nWidth
0, // nEscapement
0, // nOrientation
FW_NORMAL, // nWeight
FALSE, // bItalic
FALSE, // bUnderline
0, // cStrikeOut
ANSI_CHARSET, // nCharSet
OUT_DEFAULT_PRECIS, // nOutPrecision
CLIP_DEFAULT_PRECIS, // nClipPrecision
DEFAULT_QUALITY, // nQuality
DEFAULT_PITCH | FF_SWISS, // nPitchAndFamily
"Arial"); // lpszFacename CDC cdc ;
cdc.FromHandle(PrintDC);
cdc.SelectObject(font);
///////////////////////////////////////////////////////// TextOut(PrintDC,100,100,"ABCD", 200);
font.DeleteObject(); EndPage(PrintDC);
EndDoc(PrintDC);
if(DeleteDC(PrintDC))
return;
else
{
AfxMessageBox("Error",MB_OK);
return;
}
}
{
HDC PrintDC;
DOCINFO docin;
docin.cbSize = sizeof(DOCINFO);
docin.lpszDocName = "TestDoc";
docin.lpszOutput = NULL;
CPrintDialog PrintDialog(TRUE, PD_ALLPAGES|PD_NOPAGENUMS, NULL);
if(!PrintDialog.GetDefaults()) return;
PrintDC = PrintDialog.CreatePrinterDC();
DEVMODE* lpDevMode = (DEVMODE*)PrintDialog.GetDevMode();
lpDevMode->dmPaperSize = DMPAPER_USER;
lpDevMode->dmFields |= DM_PAPERSIZE;
lpDevMode->dmPaperLength = 529;
lpDevMode->dmPaperWidth = 500;
ResetDC(PrintDC,lpDevMode);
StartDoc(PrintDC,&docin);
StartPage(PrintDC); /////////////////////////////////////////////////////////
CFont font;
font.CreateFont(
30, // nHeight
0, // nWidth
0, // nEscapement
0, // nOrientation
FW_NORMAL, // nWeight
FALSE, // bItalic
FALSE, // bUnderline
0, // cStrikeOut
ANSI_CHARSET, // nCharSet
OUT_DEFAULT_PRECIS, // nOutPrecision
CLIP_DEFAULT_PRECIS, // nClipPrecision
DEFAULT_QUALITY, // nQuality
DEFAULT_PITCH | FF_SWISS, // nPitchAndFamily
"Arial"); // lpszFacename CDC cdc ;
cdc.FromHandle(PrintDC);
cdc.SelectObject(font);
///////////////////////////////////////////////////////// TextOut(PrintDC,100,100,"ABCD", 200);
font.DeleteObject(); EndPage(PrintDC);
EndDoc(PrintDC);
if(DeleteDC(PrintDC))
return;
else
{
AfxMessageBox("Error",MB_OK);
return;
}
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货