Как я могу изменить цвет текста в CEikRichTextEditor Symbian - PullRequest
0 голосов
/ 22 августа 2011

Можно ли в любом случае изменить части текста, которые я добавляю, в элемент управления 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 Ответ

1 голос
/ 27 сентября 2011

Вам необходимо работать с объектом CRichText, принадлежащим редактору, и применять к нему формат абзаца или символа (используя ApplyCharFormatL() / ApplyParaFormatL()).Это позволяет избежать необходимости выделять текст.

Пример применения формата абзаца

Пример применения формата символов

...