WEB开发网
开发学院手机开发Symbian 开发 如何从 C++ 过渡到 SYMBIAN C++? 阅读

如何从 C++ 过渡到 SYMBIAN C++?

 2010-03-01 17:41:00 来源:WEB开发网   
核心提示:text->Reset();for (int i = 0; i < 10; ++i){TPtrC boldText = getBoldPiece(i);TPtrC plainText = getRomanPiece(i);...TInt insertPos = text->DocumentLength

text->Reset();

for (int i = 0; i < 10; ++i)

{

TPtrC boldText = getBoldPiece(i);

TPtrC plainText = getRomanPiece(i);

...

TInt insertPos = text->DocumentLength();

text->SetInsertCharFormatL(*iCharFormat, formatMask, insertPos);

text->InsertL(insertPos, boldText);

text->CancelInsertCharFormat();

insertPos = text->DocumentLength();

text->SetInsertCharFormatL(defaultFormat, formatMask, insertPos);

text->InsertL(insertPos, plainText);

text->CancelInsertCharFormat();

}

CParaFormat paraFormat;

TParaFormatMask paraFormatMask;

iDisplay->RichText()->GetParaFormatL(¶Format, paraFormatMask,

0, iDisplay->TextLength());

paraFormatMask.ClearAll();

paraFormatMask.SetAttrib(EAttLineSpacing);

paraFormatMask.SetAttrib(EAttLineSpacingControl);

paraFormat.iLineSpacingControl = CParaFormat::ELineSpacingExactlyInTwips;

CGraphicsDevice* screenDevice = iEikonEnv->ScreenDevice();

TInt paraDelta;

...

TInt lineHeight = screenDevice->VerticalPixelsToTwips(

iRegularFont->HeightInPixels() + paraDelta);

paraFormat.iLineSpacingInTwips = lineHeight;

iDisplay->RichText()->ApplyParaFormatL(

¶Format, paraFormatMask, 0, iDisplay->TextLength());

但是这还不是全部——关于文本视图对象还另有天地,特别是CTextView和CTextLayout,连同他们的帮助对象一起。当我们想在编辑控制中定位滚动点,以使文本的最后一行可以处于编辑控制底部之上一行的位置,我们就不得不了解到CTextView的存在,以及如何获得它,还有关于CTextView::SetViewL、TViewYPosQualifier::SetHotSpot及TViewYPosQualifier::SetMakeLineFullyVisible。他们看起来是这个样子的:

[Copy to clipboard]CODE:

TInt yPos = iDisplay->TextView()->ViewRect().iBr.iY;

上一页  1 2 3 4  下一页

Tags:如何 过渡 SYMBIAN

编辑录入:coldstar [复制链接] [打 印]
赞助商链接