Comunidad Gambas-es
Poner color a titulo o cabecera de un columnview - Versión para impresión

+- Comunidad Gambas-es (https://gambas-es.org)
+-- Foro: Gambas (https://gambas-es.org/forum-3.html)
+--- Foro: General (https://gambas-es.org/forum-4.html)
+--- Tema: Poner color a titulo o cabecera de un columnview (/thread-1997.html)



Poner color a titulo o cabecera de un columnview - Alberto59 - 11-11-2025

Hola,ya se me vais a decir que soy un pesado,pero quiero aprender lo aprendido.

Mi pregunta es : como Poner color a titulo o cabecera de un columnview.

Agradeceria una solución.

Gracias.


RE: Poner color a titulo o cabecera de un columnview - Harpo - 11-11-2025

Supongo que busca algo parecido a la imagen que adjunto, tengo una mala noticia, no se puede.
ColumnView hereda de una clase llamada _TreeView, igual que el TreeView estándar. Esta clase usa internamente un GridView para mostrar los datos. Y GridView no permite usar colores personalizados para las cabeceras de columnas. 

Para conseguirlo tuve que clonar un GridView y todas sus subclases, y modificar el evento que se encarga de pintar en pantalla los datos. En su caso habría que modificar Gridview, exponer las nuevas propiedades de colores de cabecera en _TreeView y  en ColumnView.

Le subiría mi GridView al foro pero estoy en pleno proceso de adaptarlo a la versión 3.21.0, todavía estoy en ello y me queda. Además usted necesita un ColumnView. Es el componente ideal para visualizar cosas como artículos y agruparlos por familia, subfamilia, etc...

Si quiere le detallo el proceso para poder modificar el componente y ponerle color a las cabeceras, solo hay que modificar una linea en el evento Scrollview_Draw del GridView estándar, pero hay que cambiar los nombres de todas las clases que usa GridView, _TreeView y ColumnView. Entre ellas llevan referencias internas y al ser clases exportadas pueden dar problemas si hay duplicidad de nombres.

Un saludo, Harpo

[Imagen: 9RPZWfXl.png]


RE: Poner color a titulo o cabecera de un columnview - vuott - 11-11-2025

Propongo Confused esta pagina:

https://www.gambas-it.org/wiki/index.php/Assegnare_colori_allo_sfondo_ed_al_testo_di_una_riga_selezionata_di_una_ColumnView


RE: Poner color a titulo o cabecera de un columnview - Alberto59 - 12-11-2025

gracias harpo..me vale,pero complicado..ok y gracias


RE: Poner color a titulo o cabecera de un columnview - Rufs - 13-11-2025

Faz uma cabeçalho independente, deixa ativo o header e sort, mas sem texto e atribua os textos em labels.

Public Sub Form_Open()

TableView1.Columns.Count = 3
TableView1.Header = True
TableView1.Sorted = True

Label1.Caption = "nomeDDDDDDDDDDDDDD"
Label1.Foreground = Color.Red
TableView1.Columns[0].Background = Color.Red

Label2.Caption = "Setor COBRANÇA"
Label2.Background = Color.Blue
TableView1.Columns[1].Background = Color.Blue

Label3.Caption = "TESTE DE CONFIGURAÇÃO"
Label3.Background = Color.green
Label3.Foreground = Color.Red

End

Public Sub TableView1_Arrange()

Label1.Move(TableView1.X + TableView1.Columns[0].X + 5, TableView1.y - 20)
Label2.Move(TableView1.X + TableView1.Columns[1].X + 5, TableView1.y - 20)
Label3.Move(TableView1.X + TableView1.Columns[2].X + 5, TableView1.y - 20)

End

Public Sub TableView1_ColumnResize(Column As Integer)

Label1.Width = TableView1.Columns[0].Width
Label2.Width = TableView1.Columns[1].Width
Label3.Width = TableView1.Columns[2].Width
Label1.Move(TableView1.X + TableView1.Columns[0].X + 5, TableView1.y - 20)
Label2.Move(TableView1.X + TableView1.Columns[1].X + 5, TableView1.y - 20)
Label3.Move(TableView1.X + TableView1.Columns[2].X + 5, TableView1.y - 20)

End


RE: Poner color a titulo o cabecera de un columnview - Alberto59 - 13-11-2025

Muchas Gracias Rufs.

Tu aporte me ha dado una idea fantastica,para poder poner esos header de titulo.Mira la imagen que adjunto.

Nota:Gracias,Gracias y Gracias

alberto59