Я пишу часть программного обеспечения в C ++ RAD studio 2010 и получил вопрос о TreeView.
Можно ли использовать многоцветный текст в компоненте TTreeView? Я не мог найти простой способ, кроме как реализовать собственный рисунок, который кажется странным в наши дни. Есть ли какие-то прямые способы или, возможно, дополнительные компоненты, которые могут сделать это для меня?
UPDATE
Закончилось делать это с пользовательским рисунком.
void __fastcall TForm1::TreeView1AdvancedCustomDrawItem(TCustomTreeView *Sender, TTreeNode *Node,
TCustomDrawState State, TCustomDrawStage Stage, bool &PaintImages,
bool &DefaultDraw)
if (Stage == cdPostPaint)
{
TRect rect(Node->DisplayRect(true));
String redText = "redtext";
String greenText = " greentext";
Sender->Canvas->Font->Color = clRed;
Sender->Canvas->Refresh();
Sender->Canvas->TextOut(rect.Left, rect.Top, redText);
rect.Left += Sender->Canvas->TextWidth(redText);
Sender->Canvas->Font->Color = clGreen;
Sender->Canvas->Refresh();
Sender->Canvas->TextOut(rect.Left, rect.Top, greenText);
rect.Left += Sender->Canvas->TextWidth(greenText);
}
Важно было использовать Обновить , чтобы метод работал.
Кроме того, после того, как я понял, что для вывода необходим многострочный текст, я переключился на компонент VirtualTreeView с soft-gems