PDA

Ver la Versión Completa : Realzar VirtualStringTree


Angel.Matilla
26-07-2019, 12:01:14
Hola de nuevo. Sigo buceando en este componente y, de la misma forma que hago en un TListView, me gustaría poder destacar algún nodo en función de una serie de parámetros y para ello estoy intentando hacerlo desde el evento OnPaitText. Tengo puesto este código:
void __fastcall TfProRec::LisRecPaintText(TBaseVirtualTree *Sender,
const TCanvas *TargetCanvas, PVirtualNode Node,
TColumnIndex Column, TVSTTextType TextType)
{
if (Column == 0 && ((PTreeRec)Sender->GetNodeData(Node))->Tipo == (WideString)"Banco" && !((PTreeRec)Sender->GetNodeData(Node))->Domicilia)
{
TargetCanvas->Font->Style = TFontStyles() << fsBold;
TargetCanvas->Font->Color = clWhite;
TargetCanvas->Brush->Color = clNavy;
}
}
La idea es que si cumplen las condiciones del if el texto de la celda el texto de ese nodo se muestre con letras blancas negrilla sobre fondo azul. Sin embargo se muestra así:
- Sin seleccionar el nodo
https://i.ibb.co/Ntx3XVh/Pantalla1.jpg
- Seleccionando el nodo
https://i.ibb.co/sFJD13n/Pantalla2.jpg