Buenas a todos.
Tengo un problemilla y estoy atascado. No se si es que me he obcecado, pero el caso es que algo que parece simple no me acaba de funcionar... :-(
La idea es poder pintar una línea de un TreeView (el texto de un nodo) en 2 colores diferentes.
Una imagen que refleja más o menos lo que necesito es esta:
Se que con componentes más avanzados que el estándard (tipo VirtualTreeView de Softgems) se podrá hacer, pero me resisto a utilizarlo para algo que parece tan simple.
Utilizo en evento OnDrawCustomcell del TTreeView, pero no consigo cambiar el color.
Código Delphi
[-]
tv := TTreeview(Sender);
DefaultDraw := False;
Rect1 := Node.DisplayRect(False);
Rect2 := Node.DisplayRect(False);
Rect1.Right := Rect1.Right div 2;
Rect2.Left := Rect1.Right;
tv.Canvas.Font.Color := clBlack;
tv.Canvas.Font.Style := tv.Canvas.Font.Style + [fsBold];
tv.Canvas.TextRect(Rect1, Rect1.Left, Rect1.Top, Node.Text);
tv.Canvas.Font.Style := tv.Canvas.Font.Style - [fsBold];
tv.Canvas.Font.Color := clRed;
tv.Canvas.TextRect(Rect2, Rect2.Left, Rect2.Top, 'Texto rojo');
El segundo texto que debería salir en rojo y sin negrita sigue saliendo igual que el otro.
żAlguna sugerencia? Estoy espeso hoy y me debo estar dejando algo...