Symbian 中大段文本显示控件详解
2010-02-22 20:53:00 来源:WEB开发网if(CCnvCharacterSetConverter::EErrorIllFormedInput == converter->ConvertToUnicode(ptr, str, state))
User::Leave(KErrArgument);
res.Zero() ;
res.Copy(ptr) ;
aFileServerSession.Close();
CleanupStack::PopAndDestroy();
delete iInfoText;
}
第二步:CountComponentControls函数加1,ComponentControl函数返回控件指针。
第三步:在OfferKeyEventL函数中添加。
return iTextDisplay->OfferKeyEventL(aKeyEvent,aType);
第四步:在析构函数中写好析构。
第五步:编译运行。
实现过程和使用过程还是比较简单的,使用过程和使用系统控件类似。在我这个控件中我提供了显示文本的两者方法。
第一种就是这里的这种,还有一种就是使用_LIT(KLineStart,"
_LIT(KLineEnd,"");这对标签的。使用时把
iTextDisplay->SetDisplayContent(fileInfo16->Des());改成
iTextDisplay->SetDisplayContent(fileInfo16->Des(),ETrue);就可以了,这种显示的内容是
在最后需要注意一个问题,在使用系统滚动条时,它需要窗口,这个窗口可以是共享父类的,也可以是控件自己定义的。如本文中的
//构造
iSBFrame=new(ELeave) CEikScrollBarFrame(iParent, NULL,ETrue); iParent就是共享的父类窗口,如果这里不使用这个而是直接使用this的话,在下一句 iSBFrame->CreateDoubleSpanScrollBarsL(ETrue, EFalse,ETrue,ETrue);中会有KERN-EXEC 3的panic,这个是我自己的理解也不知道对不对。希望知道的大婶,指点下~~
更多精彩
赞助商链接