我要输出的内容有几行,但只输出了一部分,什么原因?
void OnDrvprint()
{
int X=0,Y=0;
TEXTMETRIC tm;
char str[500];
int copies;
PrintInit(&printdlg, hWnd);
PrintDlg(&printdlg);
docinfo.cbSize = sizeof(DOCINFO);
docinfo.lpszDocName = "Printing text";
docinfo.lpszOutput = NULL;
docinfo.lpszDatatype = NULL;
docinfo.fwType = 0;
// get text metrics for printer
GetTextMetrics(printdlg.hDC, &tm);
strcpy(str, "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA");
StartDoc(printdlg.hDC, &docinfo);
for(copies=0;copies < printdlg.nCopies;copies++)
{
StartPage(printdlg.hDC);
TextOut(printdlg.hDC, X, Y, str, strlen(str));
MessageBox(NULL,str,"ok",MB_OKCANCEL);
Y = Y + tm.tmHeight + tm.tmExternalLeading;
EndPage(printdlg.hDC);
EndDoc(printdlg.hDC);
DeleteDC(printdlg.hDC);
}
}
void OnDrvprint()
{
int X=0,Y=0;
TEXTMETRIC tm;
char str[500];
int copies;
PrintInit(&printdlg, hWnd);
PrintDlg(&printdlg);
docinfo.cbSize = sizeof(DOCINFO);
docinfo.lpszDocName = "Printing text";
docinfo.lpszOutput = NULL;
docinfo.lpszDatatype = NULL;
docinfo.fwType = 0;
// get text metrics for printer
GetTextMetrics(printdlg.hDC, &tm);
strcpy(str, "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA");
StartDoc(printdlg.hDC, &docinfo);
for(copies=0;copies < printdlg.nCopies;copies++)
{
StartPage(printdlg.hDC);
TextOut(printdlg.hDC, X, Y, str, strlen(str));
MessageBox(NULL,str,"ok",MB_OKCANCEL);
Y = Y + tm.tmHeight + tm.tmExternalLeading;
EndPage(printdlg.hDC);
EndDoc(printdlg.hDC);
DeleteDC(printdlg.hDC);
}
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货