Adding scrollbars to a CEikRichTextEditor
m (Protected "Adding Scrollbars to a Rich Text Editor" [edit=sysop:move=sysop]) |
Revision as of 14:28, 15 February 2008
| ID | Creation date | February 8, 2008 | |
| Platform | S60 3rd Edition S60 3rd Edition, FP1 S60 3rd Edition, FP2 |
Tested on devices | Nokia E90 Communicator Nokia N95 8 GB |
| Category | Symbian C++ | Subcategory | UI |
| APIs | None | Classes | CEikScrollBarFrame CEikRichTextEditor |
| Methods | None |
Overview
In this code snippet, scrollbars are added 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()));
}

