The code in this section demonstrates horizontal and vertical
scrolling using CTextView::ScrollDisplayL()
. This function can be
used to scroll text horizontally (left or right and to the start or end of a
line), and vertically (page or line up, page or
line down). Note that scrolling down means that the text appears to move upwards,
scrolling left means it appears to move rightwards.
The following code scrolls the display left by 40 pixels, causing the text to move right. If no horizontal scroll jump value is set, the scroll jump will be the default value of 20 pixels.
iTextView->SetHorizontalScrollJump(40); // scroll jump is 40 pixels
iTextView->ScrollDisplayL(TCursorPosition::EFLeft); // scroll left
The following example scrolls the display downwards.
Use ScrollDisplayL()
until the end of the document
is reached, at which point ScrollDisplayL()
returns zero.
Here, the scroll includes blank space (the second argument is
CTextLayout::EFAllowScrollingBlankSpace
), so scrolling continues
until the last line in the document reaches the top of the display. By default,
blank space is not scrolled, in which case the scroll ends when the last line
appears at the bottom of the display.
TInt pixelsScrolled;
do pixelsScrolled=iTextView->ScrollDisplayL
(TCursorPosition::EFLineDown,CTextView::EFAllowScrollingBlankSpace);
while (pixelsScrolled);
Vertical scrolling can also be carried out using
CTextView::ScrollDisplayPixelsL()
, CTextView::ScrollDisplayLinesL()
, or
CTextView::ScrollDisplayParagraphsL()
to move the text by a number of pixels,
lines and paragraphs respectively.