Я пишу программу на C++ RAD studio 2010, и у меня возник вопрос о TreeView.
Можно ли использовать многоцветный текст в компоненте TTreeView? Я не мог найти простого способа, кроме как реализовать пользовательский рисунок, который в настоящее время кажется странным. Есть ли какие-то простые способы или, может быть, дополнительные компоненты, которые могут сделать это за меня?
ОБНОВЛЕНИЕ
В итоге сделал это с помощью пользовательского рисунка.
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.