我要输出的内容有几行,但只输出了一部分,什么原因?
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);
}

}