Чтобы управлять цветом текста в определенной строке, используйте событие OnPaintText и установите TargetCanvas.Font.Color.
procedure TForm.TreePaintText(Sender: TBaseVirtualTree; const TargetCanvas:
TCanvas; Node: PVirtualNode; Column: TColumnIndex; TextType: TVSTTextType);
var
YourRecord: PYourRecord;
begin
YourRecord := Sender.GetNodeData(Node);
// an example for checking the content of a specific record field
if YourRecord.Text = 'SampleText' then
TargetCanvas.Font.Color := clRed;
end;
Обратите внимание, что этот метод вызывается для каждой ячейки в TreeView. Указатель узла одинаков в каждой ячейке строки. Поэтому, если у вас есть несколько столбцов и вы хотите установить цвет для всей строки в соответствии с содержимым определенного столбца, вы можете использовать данный узел, как в примере кода.