Quiero cambiar el color del texto en una fila específica de un árbol de cadenas virtual. ¿Es posible?¿Es posible cambiar el color de una fila en un árbol de cadenas virtual?
Respuesta
utilizar el evento OnBeforeCellPaint:
procedure TForm1.VirtualStringTree1BeforeCellPaint(Sender: TBaseVirtualTree;
TargetCanvas: TCanvas; Node: PVirtualNode; Column: TColumnIndex;
CellPaintMode: TVTCellPaintMode; CellRect: TRect; var ContentRect: TRect);
begin
if Node.Index mod 2 = 0 then
begin
TargetCanvas.Brush.Color := clFuchsia;
TargetCanvas.FillRect(CellRect);
end;
end;
esto va a cambiar el fondo en vtas (si las filas están en el mismo nivel).
¿Qué pasa si no quiero color en absoluto? como eliminar el color de fondo me cansé 'TargetCanvas.Brush.Style: = bsClear;' pero fallar – MartinLoanel
@MartinLoanel Tendrá que hacer mucho más para que todo el control sea transparente. Hazlo como una pregunta diferente y es posible que obtengas algunas respuestas o que alguien ya lo haya hecho. – Nat
ya encuentra una manera – MartinLoanel
Para controlar el color del texto en una fila específica, use el evento OnPaintText y establezca 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;
Tenga en cuenta que se utiliza este método para cada celda del TreeView. El puntero de nodo es el mismo en cada celda de una fila. Por lo tanto, si tiene varias columnas y desea establecer el color de una fila completa según el contenido de una columna específica, puede usar el nodo dado como en el código de ejemplo.
Para cambiar el color del texto en una fila específica, OnDrawText caso se puede utilizar en la que se cambia la corriente TargetCanvas.Font.Color propiedad.
El siguiente código funciona con Delphi XE 1 y vista de árbol virtual 5.5.2 (http://virtual-treeview.googlecode.com/svn/branches/V5_stable/)
type
TFileVirtualNode = packed record
filePath: String;
exists: Boolean;
end;
PTFileVirtualNode = ^TFileVirtualNode ;
procedure TForm.TVirtualStringTree_OnDrawText(Sender: TBaseVirtualTree; TargetCanvas: TCanvas; Node: PVirtualNode;
Column: TColumnIndex; const Text: UnicodeString; const CellRect: TRect; var DefaultDraw: Boolean);
var
pileVirtualNode: PTFileVirtualNode;
begin
pileVirtualNode:= Sender.GetNodeData(Node);
if not pileVirtualNode^.exists then
begin
TargetCanvas.Font.Color := clGrayText;
end;
end;
- 1. ¿Es posible cambiar el color de ScrollBar?
- 2. C# excel cómo cambiar el color de una fila particular
- 3. NSTableView Cambiar el color del texto de una fila
- 4. matplotlib: ¿es posible cambiar el color de fondo?
- 5. Jfreechart: ¿Es posible cambiar el color de la barra?
- 6. ¿Hay una forma simple de cambiar el color de fondo de la fila en un QTableWidget?
- 7. GWT: cómo cambiar el color fila de GWT CellTable
- 8. C#: cambiar el color de la fila del listbox?
- 9. C# Iterar sobre DataGridView y cambiar el color de fila
- 10. ¿Es posible una fila variable en SlickGrid?
- 11. Color de fila UIPickerView
- 12. ¿Es posible cambiar el comparador de un C++ std :: set?
- 13. ¿Es posible anular un método no virtual?
- 14. cómo cambiar el color de un QGraphicsTextItem
- 15. ¿Cómo cambiar el color del texto de una sola fila en una grilla ExtJS?
- 16. ¿Es posible convertir una matriz de cadenas en una cadena?
- 17. ¿Es posible cambiar el nombre de una tabla en Firebird?
- 18. iTextSharp: ¿es posible establecer un color de fuente diferente para la misma celda y fila?
- 19. Android: ¿Es posible cambiar dinámicamente el color del borde de un EditText?
- 20. Cambiar fila de cuadrícula de datos WPF Color
- 21. ¿Es posible cambiar el tamaño de página de la memoria virtual?
- 22. Cambiar el color de fuente de una columna en un control DataGridView (C# winforms)
- 23. ¿Es posible cambiar el color de la barra de título de la actividad sin FEATURE_CUSTOM_TITLE?
- 24. ¿Es posible cambiar un color de UIActivityIndicatorView a negro en iOS?
- 25. Cambiar el color de fondo en NSAttributedString
- 26. Cambiar el color de selección de un QTableWidget
- 27. ¿Es posible seleccionar varias columnas en Virtual Treeview?
- 28. ¿Es posible cambiar el color de fondo del control WebBrowser antes de cargar contenido?
- 29. ¿Es posible crear una estructura de árbol dinámica usando ExpandoObject?
- 30. Cómo cambiar el color de fondo de un posible partido en Eclipse
Así, se contesta a su pregunta? – Nat