Impostare il colore dello sfondo del ComboBox

Da Gambas-it.org - Wikipedia.

Attualmente il ComboBox in Gambas è formato da almeno due Oggetti grafici, verificabili agevolmente invocando la sua Proprietà ".Children":

Public Sub Form_Open()

 Dim ob As Object
 
 For Each ob In ComboBox1.Children
   Print Object.Type(ob)
 Next

End

Come si potrà notare, i due Oggetti - "Figli" del ComboBox - sono un Panel e TextBox. [Nota 1]
Pertanto è possibile impostare il colore per almeno tre tipi di fondo del ComboBox:
1) con la Proprietà ".Background" nativa del ComboBox medesimo, la quale determinerà la colorazione dell'intera superficie del ComboBox:

Public Sub Form_Open()

 ComboBox1.Background = Color.Red

End


2) con la Proprietà ".Background" del Panel, primo "Figlio" del ComboBox, la quale determinerà la colorazione della sola parte destra cliccabile del ComboBox:

Public Sub Form_Open()

 ComboBox1.Children[0].Background = Color.Red

End


3) con la Proprietà ".Background" del TextBox, secondo "Figlio" del ComboBox, la quale determinerà la colorazione della sola parte sinistra, contenente la lista testuale, del ComboBox:

Public Sub Form_Open()

 ComboBox1.Children[1].Background = Color.Red

End

Dunque è possibile avere anche una doppia colorazione del ComboBox, ad esempio:

Public Sub Form_Open()

 With ComboBox1
   .List = ["aaaa", "bbbb", "cccc"]
   .Children[0].Background = Color.Red
   .Children[1].Background = Color.Yellow
 End With

End


Note

[1] Va precisato che l'Oggetto ComboBox possiede due "Figli" Oggetti grafici, se la sua Proprietà ".ReadOnly" è lasciata al suo valore predefinito ovvero impostata a "FALSE". Qualora tale Proprietà sia impostata a "True", allora il ComboBox è costituito da un solo "Figlio": il Panel.