TSRichViewEdit.OnGetPagePos |
Top Previous Next |
|
Allows to define page position, size and Z-order. Occurs if ViewProperty.FreePosPage = True. type TSRVGetPagePosEvent = procedure(Sender: TSRichViewEdit; PageNo : Integer; StartItemNo, EndItemNo, OffsetInStartItem, StartTableRow, EndTableRow: Integer; var Position : TPoint; var ZoomPercent : Single; var ZOrder : Integer) of object;
property OnGetPagePos: TSRVGetPagePosEvent; PageNo – page index (from 1). StartItemNo – index of the first item on the page. EndItemNo – index of the last item on the page. OffsetInStartItem – offset in the first item (for non-text items: 0; for text items: index of the first character on this page, from 1). StartTableRow – index of the first table row on the page, if the table is the first item on the page; -1 otherwise. EndTableRow – index of the last table row on the page, if the table is the last item on the page; -1 otherwise. Position – page position, coordinates of the top left page corner. By default, it is calculated by adding offset to the previous page. The default coordinates for the first page: X is calculated so that the page is in the center, Y is equal to PageProperty.PageBreakHeight. The coordinates are relative to the top left corner of a scrollable area in TSRichViewEdit's window. ZoomPercent – page zooming. By default, it is equal to zoom percent for the previous page. For the first page, it is equal to ViewProperty.ZoomPercent. ZOrder – the page's Z-order. By default it is the same as for the previous page. For the first page, it is 0. Pages having the same Z-order value are drawn in the order of their numeration. Pages with larger Z-order value are drawn above the pages with smaller Z-order values. If PageProperty.UsePageOrders = False, this parameter is ignored.
See also:
Example: // Arranging pages in 4 columns, 10 pixels between rows, 30 pixels between columns procedure TFColumns.SRichViewEdit1GetPagePos(Sender: TSRichViewEdit; PageNo : Integer; StartItemNo, EndItemNo, OffsetInStartItem, StartTableRow, EndTableRow: Integer; var Position : TPoint; var ZoomPercent : Single; var ZOrder : Integer); begin Position.X := 10 + ((PageNo - 1) mod 4) * (Sender.PageWidthPix + 30); Position.Y := 10 + ((PageNo - 1) div 4) * (Sender.PageHeightPix + 10); end; |