<< Click to display table of contents >> TSRichViewEdit.OnPaintPage |
Occurs before and after the page is drawn.
type
TSRVPaintPage = procedure(Sender: TObject; PageNo: Integer;
PageRect, R: TRect; Canvas: TCanvas; Prepaint, Printing: Boolean)
of object;
property OnPaintPage: TSRVPaintPage;
You can draw something on below or above the default drawing.
PageNo – index of the page, from 1.
PageRect – rectangle where to draw the page. Its size is the page size in 96 DPI and 100% zooming.
R – client coordinates of area that needs to be repainted.
Canvas – canvas where to paint.
Prepaint is True if this event is called before the default drawing (to draw a background), and False otherwise.
Printing is True if this event is called for printing the page.
You should paint as if zooming is 100%. When drawing on the screen, all painting made in this event is automatically scaled according to ViewProperty.ZoomPercent.
Example: drawing page numbers
procedure TForm1.SRichVewEdit1PaintPage(Sender: TObject; PageNo: Integer;
PageRect, R: TRect; Canvas: TCanvas; Prepaint, Printing: Boolean);
var
H : Integer;
Text: String;
begin
if Prepaint then
exit;
Canvas.Brush.Style := bsClear;
Canvas.Font.Assign(SRichViewEdit1.RichViewEdit.Style.TextStyles[0]);
H := SRichViewEdit1.TopMargin100Pix;
Text := 'Page ' + IntToStr(PageNo);
Canvas.TextOut(
(PageRect.Left + PageRect.Right - Canvas.TextWidth(Text)) div 2,
PageRect.Top+H div 2, Text);
end;
See also: