private float EstablishAlignmentLocation(float fStartPoint, float fEndPoint, float fTextWidth, ReportAlignment reportAlignment) { float fDerivedStart = fStartPoint; if (fEndPoint >= _PrintDocument.DefaultPageSettings.PrintableArea.Right) { fEndPoint = _PageWidth; } switch (reportAlignment) { case ReportAlignment.Left: break; case ReportAlignment.Center: fDerivedStart = (fStartPoint + fEndPoint) / 2 - (fTextWidth / 2); break; case ReportAlignment.Right: fDerivedStart = fEndPoint - fTextWidth; break; } return(fDerivedStart); }
private float EstablishReportX(Graphics g, string sText, int iColumnIndex, Font font, ReportAlignment reportAlignment) { float resultPoint = 0; float ColumnLeft = _PrintDocument.DefaultPageSettings.PrintableArea.Left; float ColumnMiddle = _PrintDocument.DefaultPageSettings.PrintableArea.Width / 3; float ColumnRight = (_PrintDocument.DefaultPageSettings.PrintableArea.Right * 2) / 3; float fTextWidth = g.MeasureString(sText, font).Width; switch (iColumnIndex) { case 0: resultPoint = EstablishAlignmentLocation(ColumnLeft, ColumnMiddle, fTextWidth, reportAlignment); break; case 1: resultPoint = EstablishAlignmentLocation(ColumnMiddle, ColumnRight, fTextWidth, reportAlignment); break; case 2: resultPoint = EstablishAlignmentLocation(ColumnRight, _PrintDocument.DefaultPageSettings.PrintableArea.Right, fTextWidth, reportAlignment); break; default: resultPoint = ColumnLeft; break; } return(resultPoint); }