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);
Note
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.