- Offizieller Beitrag
Q: I need to cross out the empty space on the last page
A: Use the OnPaintWatermark event:
Code
procedure TForm1.WPRichText1PaintWatermark(Sender: TObject;
RTFEngine: TWPRTFEnginePaint; toCanvas: TCanvas; PageRect: TRect;
PaintPageNr, RTFPageNr: Integer; WaterMarkRef: TObject; XRes,
YRes: Integer; CurrentZoom: Single; PaintMode: TWPPaintModes);
begin
if RTFPageNr=WPRichText1.PageCount then
begin
toCanvas.Pen.Style := psSolid;
toCanvas.Pen.Width := MulDiv(15,XRes,1440);
toCanvas.Pen.Color := clBlack;
toCanvas.MoveTo(PageRect.Left, PageRect.Top +
MulDiv(WPRichText1.Memo.PaintPageTextHeight[PaintPageNr],
YRes, WPScreenPixelsPerInch) +
WPRichText1.BodyText.Pages[RTFPageNr-1].MarginTop
);
toCanvas.LineTo(PageRect.Right, PageRect.Bottom);
end;
end;
Alles anzeigen