Sobre Los Colores De Listbox [Solucionado]


Objetivo: Sobre Los Colores De Listbox [Solucionado]
Cuando se selecciona un ítem en un listbox, éste se ilumina con un color en el background que creo que es llamado lightbackground en la lista de colores del sistema.
En el tema que tengo seleccionado en mi linuxmint, ese color es un verde muy clarito que según te coloques frente a la pantalla un poco ladeao, como que no se ve.
No quiero cambiar el tema del cinnamon, que me gusta este, pero - aquí viene la pregunta:

¿Alguien sabe cómo se puede cambiar ese color predeterminado de selección?

No me refiero a cambiarlo en un control concreto, sino en todo el proyecto (o todo el gambas, me da lo mismo), que ir cambiando de control en control según evento o selección etc es una obra de moros.

Saludos

última edición por shordi el Martes, 07 Enero 2014, 20:30; editado 1 vez
Perfil MP  
Objetivo: Re: Sobre Los Colores De Listbox
¿ Probaste activando gb.qt4 ?. (Cambiarían muchas cosas)

Estoy viendo un ListView y se ve mejor. Con gtk hace un sombreado.
En Mint cuesta verlo un poco.

Hay un componente gb.gtk3. Pero siempre estoy entre gb.gtk (lo que me da con gb.gui) y gb.qt4.

Saludos

Objetivo: Re: Sobre Los Colores De Listbox
Siempre uso qt4 y no me convence cómo se ve. El tema es cómo acceder al destacado de la lista... seguiremos buscando.

Perfil MP  
Objetivo: Re: Sobre Los Colores De Listbox
Shordi:

Te dejo aqui un codigo de como lo haria yo.
En vez de usar un listbox, uso un gridview de 1 columna

' gambas class file

Private Obsevador As OBserver
Private hcolor As Integer

Public Sub Form_Open()

Obsevador = New Observer(GridView1) As "ObservadorLista"
ColorCursor(Color.Orange) 'color del cursor
Add(GridView1, "texto1") 'añado valores
Add(GridView1, "texto2")
Add(GridView1, "texto3")
remove(GridView1, 1) 'borro la linea "texto2"

End

Public Sub ObservadorLista_click()

Dim a As Integer

'quito todos los colores...
For a = 0 To GridView1.Rows.count - 1
GridView1[a, 0].Background = Color.White
Next
'pongo el color del fondo
GridView1[GridView1.row, 0].Background = hcolor

End

Public Sub add(g As Gridview, texto As String)

g.Columns.count = 1
g.Rows.count += 1

g[g.Rows.count - 1, 0].text = texto

End

Public Sub remove(g As Gridview, indice As Integer)

Dim a As Integer

For a = indice To g.Rows.count - 2
g[a, 0].text = g[a + 1, 0].text
Next
g.Rows.count -= 1

End

Public Sub ColorCursor(Optional colorcursor As Integer)

If ColorCursor = 0 Then
hcolor = Color.Red
Else
hcolor = colorcursor
Endif

End

Public Sub GridView1_Click()

Print "hola, has hecho click:", GridView1.row

End


ListboxS-0.0.1.tar.gz
Descripción: Gridview con color del cursor (linea donde hacemos click), coloreada según color elegido por el usuario 
Descargar
Nombre del archivo: ListboxS-0.0.1.tar.gz
Tamaño: 4.98 KB
Descargado: 41 veces
ListboxS-0.0.1.tar.gz
Descripción: Gridview con color del cursor (linea donde hacemos click), coloreada según color elegido por el usuario 
Descargar
Nombre del archivo: ListboxS-0.0.1.tar.gz
Tamaño: 4.98 KB
Descargado: 41 veces
ListboxS-0.0.1.tar.gz
Descripción: Gridview con color del cursor (linea donde hacemos click), coloreada según color elegido por el usuario 
Descargar
Nombre del archivo: ListboxS-0.0.1.tar.gz
Tamaño: 4.98 KB
Descargado: 41 veces

Objetivo: Re: Sobre Los Colores De Listbox
Curioso. Lo bajo para verlo.

Gracias Julio.

Objetivo: Re: Sobre Los Colores De Listbox
Gracias Julio. Yo también uso gridview cuando toca y no hay problema por ese lado. Sin embargo ese cambio me complicaría el código un montón en el proyecto que llevo entre manos (que usa un montón de listbox).

Saludos.

Perfil MP  
Objetivo: Re: Sobre Los Colores De Listbox
Sin embargo me has dado una idea para hacer un control (llamémoslo listgrid). Lo miro y en un rato te cuento.

Perfil MP  
Objetivo: Re: Sobre Los Colores De Listbox
Bingo. Demostrado que dos cerebros son mejor que uno. Partiendo de la solución de Julio he creado un nuevo control heredando gridview que simula ser un listbox pero definiendo el color seleccionado. Lo he llamado listgrid. Sólo tienes que incorporar a tu proyecto la clase listgrid y compilarla. Te aparece en el ide dentro de la sección view de controles, junto con gridview, listbox, etc.

Lo mejor es que para que funcione en una aplicación ya montada, sólo tengo que cambiar el control en el form vía IDE y llamarlo igual que el listbox sustituído.

última edición por shordi el Martes, 07 Enero 2014, 20:25; editado 1 vez

ListGrid.zip
Descripción:  
Descargar
Nombre del archivo: ListGrid.zip
Tamaño: 7.8 KB
Descargado: 45 veces
ListGrid.zip
Descripción:  
Descargar
Nombre del archivo: ListGrid.zip
Tamaño: 7.8 KB
Descargado: 45 veces
ListGrid.zip
Descripción:  
Descargar
Nombre del archivo: ListGrid.zip
Tamaño: 7.8 KB
Descargado: 45 veces

Perfil MP  
Objetivo: Re: Sobre Los Colores De Listbox
A bote pronto le he colocado las propiedades index y text y el método clear, para que se parezca en su manejo al listbox. Seguramente se podrían añadir más propiedades para hacerlo un clon virtual de listbox, pero eso os lo dejo a vosotros. A mí me vale así.


Perfil MP  

Página 1 de 1


  
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario

   

Está utilizando la versión (Lo-Fi). Para ver la versión completa del foro, haga clic aquí.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Página generada en:: 0.4268s (PHP: -66% SQL: 166%)
Consultas SQL: 48 - Debug off - GZIP Activado