FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Efectos en un TVirtualStringTree
Tengo un TVirtualStringTree y quisiera que una línea en concreto (en este caso al que lleva los totales) resaltara. De momento sólo he conseguido poner en negrita el texto pero me gsutaría cambiarle el fondo, por ejemplo en amarillo. Estoy usando este código en el evento OnPaintText:
Código:
void __fastcall TfDatos::DiariosPaintText(TBaseVirtualTree *Sender, const TCanvas *TargetCanvas, PVirtualNode Node, TColumnIndex Column, TVSTTextType TextType) { TargetCanvas->Brush->Color = ((PTreeDatos)Sender->GetNodeData(Node))->Concepto.Pos("TOTAL") != 0 ? clYellow : clWhite; TargetCanvas->Font->Color = clBlack; TargetCanvas->Font->Style = ((PTreeDatos)Sender->GetNodeData(Node))->Concepto.Pos("TOTAL") != 0 ? TFontStyles() << fsBold : TFontStyles() >> fsBold; } ¿Qué me falta oen qué evento he de ponerlo? He probado en todos los que sugiere la ayuda (OnBeforePaint, OnBeforeItemPaint, OnBeforeItemErase, OnAfterItemErase, OnBeforeCellPaint, OnPaintText y OnAfterCellPaint) pero o me da error o no hace el efecto que busco. |
#2
|
||||
|
||||
En el DrawText, ejemplo:
|
#3
|
||||
|
||||
#4
|
||||
|
||||
Cita:
Y lo he adaptado a delphi. ¿Y CustomDraw, o algo así?
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código Únete al grupo Teaming clubdelphi | Colabora mediante Paypal Última edición por Casimiro Notevi fecha: 09-11-2020 a las 10:10:23. |
#5
|
||||
|
||||
No; tal vez tenga que ver con que uso BCB 6. En la ayuda del VST cita los siguientes eventos:
Cita:
|
#6
|
||||
|
||||
Es que lo que me llama la atención es que sí admita la letra en negrita pero no el cambio de fondo.
|
#7
|
||||
|
||||
Pues no sé, es que no tengo el Builder para probar.
|
#8
|
||||
|
||||
Llevo desde ayer dándole vueltas y lo más que he conseguido ha sido esto:
con este código: Código:
void __fastcall TfDatos::DesglosesBeforeItemPaint(TBaseVirtualTree *Sender, TCanvas *TargetCanvas, PVirtualNode Node, TRect &ItemRect, bool &CustomDraw) { vsRect = ItemRect; } //--------------------------------------------------------------------------- void __fastcall TfDatos::DesglosesPaintText(TBaseVirtualTree *Sender, const TCanvas *TargetCanvas, PVirtualNode Node, TColumnIndex Column, TVSTTextType TextType) { TargetCanvas->Font->Color = clBlack; TargetCanvas->Font->Style = ((PTreeDesglose)Sender->GetNodeData(Node))->Concepto.Pos("TOTAL") != 0 ? TFontStyles() << fsBold : TFontStyles() >> fsBold; TargetCanvas->Brush->Color = ((PTreeDatos)Sender->GetNodeData(Node))->Concepto.Pos("TOTAL") != 0 ? clYellow : clWhite; TargetCanvas->FillRect(vsRect); } //--------------------------------------------------------------------------- |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Saber si un TVirtualStringTree tiene datos | Angel.Matilla | C++ Builder | 1 | 29-07-2020 13:21:07 |
Personalizar TVirtualStringTree | Angel.Matilla | C++ Builder | 10 | 23-11-2019 10:10:49 |
Cargar datos en TVirtualStringTree | Angel.Matilla | C++ Builder | 2 | 28-09-2019 12:04:22 |
Efectos de Ventanas | gerald | Gráficos | 10 | 30-10-2008 23:49:49 |
Efectos del Calor | FGarcia | La Taberna | 13 | 14-05-2008 00:12:00 |
|