打印问题,我的程序为什么只打印一半?
这段代码的意思是打印StringGrid里的所有数值,为什么打印一半就换页了?
Printer()->BeginDoc();
int SizeInMMX = GetDeviceCaps( Printer()->Canvas->Handle, LOGPIXELSX );
int SizeInMMY = GetDeviceCaps( Printer()->Canvas->Handle, LOGPIXELSY );
double PointX = double(SizeInMMX)/72.0;
double PointY = double(SizeInMMY)/72.0;
int YStep = PointY*20;
int XStep = PointX*40;
int RowsPPage = Printer()->PageHeight/(PointY*20);//每叶的行数
Printer()->Canvas->Font->Size = PointX*2;
Printer()->Canvas->Brush->Color = clWhite;
Printer()->Canvas->FillRect(Rect(0,0,Printer()->PageWidth,Printer()->PageHeight));
for(int i = 0;i<=5; i++)
{
for(int m = 1; m<=RowsPPage; m++)
{
for(int j = 1; j<StringGrid1->ColCount; j++)
{
if(StringGrid1->Cells[j][m+i*RowsPPage]!="")
Printer()->Canvas->TextOutA(j*XStep, m*YStep, StringGrid1->Cells[j][m+i*RowsPPage]);
}
}
Printer()->NewPage();
}
Printer()->EndDoc();