Home

Advertisement

   Journal    Friends    Archive    User Info    Memories
 

Зажги свою жизнь!

Jul. 4th, 2009 04:27 am Set CEikEdwin layout - retrieve text editor height

Example: you want 1-line text editor, and want to center it inside some parent CCoeControl. To do it, you should know the height of the 1 line of text. Here is the magic:


CParent::ConstructL(TRect const & aRect)
{
InitComponentArrayL();
// create editor
iEditor = new (ELeave) CEikEdwin();
iEditor->SetContainerWindowL(*this);
TInt flags = CEikEdwin::ENoWrap;
iEditor->ConstructL(flags, 0, 256, 1);

Components().AppendLC(iEditor);
CleanupStack::Pop();

iEditor->SetFocus(ETrue);
// set parent control size and position first
SetRect(aRect);

// at this point editor will have correct height set
TInt heightOfTextLine = iEditor->Size().iHeight;
}


Note: Don't forget to use AddToStackL(iParentWindowControl) and forward OfferKeyEventL() directly into the editor, it will work also on the touch devices.

Leave a comment

 

Advertisement