Adding scrollbars to a CEikRichTextEditor
Archived: This article is archived because it is not considered relevant for third-party developers creating commercial solutions today. If you think this article is still relevant, let us know by adding the template {{ReviewForRemovalFromArchive|user=~~~~|write your reason here}}.
The article is believed to be still valid for the original topic scope.
The article is believed to be still valid for the original topic scope.
Article Metadata
Tested with
Devices(s): Nokia E90 Communicator
Nokia N95 8GB
Nokia N95 8GB
Compatibility
Platform(s): S60 3rd Edition
S60 3rd Edition, FP1
S60 3rd Edition, FP2
S60 3rd Edition, FP1
S60 3rd Edition, FP2
Article
Keywords: CEikScrollBarFrame, CEikRichTextEditor
Created: tapiolaitinen
(08 Feb 2008)
Last edited: lpvalente
(04 Aug 2012)
Overview
This code snippet demonstrates how to add scrollbars to a rich text editor.
This snippet can be self-signed.
Header file
CEikRichTextEditor* iEditor;
CEikScrollBarFrame* iScrollBarFrame;
Source file
// Second phase construction.
void CClientAppView::ConstructL(const TRect& aRect)
{
// Create the rich text editor (iEditor)
// (left out for brevity)
// Create the scrollbar for the editor
iScrollBarFrame = iEditor->CreateScrollBarFrameL();
// Set horizontal scrollbar invisible (EOff) and vertical scrollbar
// visible (EOn)
iScrollBarFrame->SetScrollBarVisibilityL(CEikScrollBarFrame::EOff,
CEikScrollBarFrame::EOn);
}
Note: Scrollbars are not included in the inner region of the editor. This must be taken into account when drawing the editor on the screen:
// Called whenever SetExtent(), SetSize(), SetRect(),
// SetCornerAndSize(), or SetExtentToWholeScreen() is
// called on the control.
void CAppView::SizeChanged()
{
TRect r = Rect();
TInt scrollbarWidth = iEditor->ScrollBarFrame()->
ScrollBarBreadth(CEikScrollBar::EVertical);
TInt editorWidth = r.Width() - scrollbarWidth;
TPoint upperLeftCorner = TPoint(0, 0);
iEditor->SetExtent(upperLeftCorner, TSize(editorWidth, r.Height()));
}

