如何在CEll Rich Text Editor Symbian中更改文本颜色

时间:2011-08-21 22:56:28

标签: symbian s60

有没有改变我添加到CEikRichTextEditor控件中的部分文本而不首先选择文本 - 它在文本上显示绿色选择矩形 - 然后应用文本样式?

以下是我使用的代码,当用户在文本上看到正在运行的绿色选择矩形时,尤其是当我在循环中插入文本时,会给出一种丑陋和草率的样式

CDesCArray* temp = new(ELeave) CDesCArrayFlat(4);
temp->AppendL(_L("First"));
temp->AppendL(_L("Second"));
temp->AppendL(_L("Third"));
temp->AppendL(_L("Fourth"));
TBuf<100>iNumbers;
iNumbers.Copy(_L("Here is the numbers"));
iRichText1->SetTextL(&iNumbers); // iRichText1 is a pointer to CEikRichTextEditor object

for(TInt i = 0; i < temp->Count(); i++)
    {   
        TInt x = iRichText1->Text()->DocumentLength();
        iRichText1->RichText()->InsertL(x, (*temp)[i]);
        iRichText1->SetSelectionL(x,iRichText1->Text()->DocumentLength());
        iRichText1->BoldItalicUnderlineEventL(CEikGlobalTextEditor::EItalic);

        TInt line = iRichText1->Text()->DocumentLength();
        iRichText1->RichText()->InsertL(line, _L("\f\f"));

    }

非常感谢提前。

1 个答案:

答案 0 :(得分:1)

您需要对编辑器拥有的CRichText对象进行操作,并在其上应用段落或字符格式(使用ApplyCharFormatL() / ApplyParaFormatL())。这样就无需选择文本。

Example applying a paragraph format

Example applying a character format