The following code constructs a text view, first allocating and constructing all its parameters.
Before constructing the CTextView
text view object, first construct a TRect
view rectangle, then the CTextLayout
layout object to be used by the view.
Call the CCoeControl::Rect()
function to construct the view rectangle.
The following must also be provided:
A graphics device map for mapping between the physical co-ordinates of the screen or page being drawn to (measured in twips) and the device specific co-ordinates (measured in pixels). Use the CCoeControl::SystemGc()
function to get the graphics context
a window group for the text view. If a window group is not provided, no cursors can be displayed in the document.
The view rectangle is the rectangle in which all text, cursors and labels will be displayed. It resides within the view window and can be smaller than it.
TRect iViewRect; // rectangle in which to view text CTextLayout* iLayout; // text layout CTextView* iTextView; // text view CRichText* iRichText; // rich text document // prerequisites for view - viewing rectangle iViewRect=Rect(); // Construct view rectangle // layout iLayout=CTextLayout::NewL(iRichText,iViewRect.Width()); // construct layout, giving width of view rectangle // context and device CWindowGc& gc=SystemGc(); // get graphics context CBitmapDevice* device=(CBitmapDevice*) (gc.Device()); // device // text view iTextView=CTextView::NewL(iLayout, iViewRect, device, device, &Window(), &iCoeEnv->RootWin(), // window group, needed for cursor &iCoeEnv->WsSession() ); // new view