Differenze tra le versioni di "Assegnare colori allo sfondo ed al testo di una riga selezionata di una ListView"

Da Gambas-it.org - Wikipedia.
 
(13 versioni intermedie di uno stesso utente non sono mostrate)
Riga 1: Riga 1:
Attualmente non è possibile assegnare ''direttamente'' - ossia da una proprietà - colori allo sfondo ed al testo di una sola riga selezionata di un oggetto ''ListView''.
+
In questa pagina viene mostrata una modalità per assegnare colori allo sfondo ed al testo della riga (item) selezionata di un oggetto ''ListView'':
 
 
Per superare questo ostacolo si può adottare uno stratagemma, basandosi sulla circostanza che l'oggetto ''ListView'' è composto anche dall'oggetto ''GridView''. Pertanto, si potrà agire sull'oggetto ''GridView'', figlio della ''ListView'' per impostare il colore dello sfondo della riga selezionata (cliccata) della ''ListView''; e si potrà, però, agire sull'item selezionato della ''ListView'' (in tal caso l'assegnazione del colore è ''diretto'') per imporre al testo in esso presente il colore prescelto.
 
 
 
Va <SPAN Style="text-decoration:underline">precisato</span> che per ottenere il predetto risultato sarà <SPAN Style="text-decoration:underline">necessario</span> usare le librerie grafiche '''QT''' !
 
 
 
 
 
Mostriamo un esempio pratico, nel quale verrà colorato di blu lo sfondo e di giallo il testo della riga cliccata di una ''ListView''. Lo sfondo ed il testo della riga precedentemente cliccata torna ai colori predefiniti.
 
 
  '''Public''' Sub Form_Open()
 
  '''Public''' Sub Form_Open()
 
    
 
    
Riga 23: Riga 16:
 
   
 
   
 
  '''Public''' Sub ListView1_Select()
 
  '''Public''' Sub ListView1_Select()
+
 
   Dim j As Byte
+
   Dim s As String
   Dim ob As Object
+
    
+
  <FONT Color=gray>' ''Assegna i colori predefiniti allo sfondo e al testo di ciascuna riga (item) della "ListView".''
  <FONT Color=gray>' ''Assegnamo alla variabile di tipo oggetto il "figlio" (che è una "GridView") della "ListView":''</font>
+
  ' ''Ogni riga/item è individuata mediante la sua chiave identificatrice, impostata nella precedente routine nel primo argomento del Metodo ".Add()":''</font>
  ob = ListView1.Children[0]
+
  For Each s In ListView1.Keys
 
+
    ListView1[s].Background = Color.TextBackground
  <FONT Color=gray>' ''Assegnamo i colori di base allo sfondo della "GridView-figlio" e al testo presente nella "ListView":''</font>
+
    ListView1[s].Foreground = Color.TextForeground
  For j = 0 To ob.Rows.Max
+
  Next
    ob[j, 0].Background = Color.Default
+
 
  <FONT Color=gray>' ''"[CStr(j + 1)]" rappresenta la chiave distintiva e non il numero di Indice dell'array !''</font>
+
  <FONT Color=gray>' ''In quest'altro caso il colore dello sfondo e del testo presente nella corrente riga/item,''
    ListView1[CStr(j + 1)].Richtext = "&lt;FONT Color=#212121>" & listView1[j + 1].text
+
' ''cliccata della "ListView", è assegnato individuando la corrente riga/item cliccata  con la proprietà ".Current":''</font>
  Next
+
  With ListView1.Current
 
+
  <FONT Color=gray>' ''Assegna il colore blu allo sfondo e giallo al testo presente nella corrente riga/item cliccata della "ListView":''</font>
  <FONT Color=gray>' ''Assegnamo il colore blu allo sfondo della riga cliccata della "GridView-figlio":''</font>
+
    .Background = Color.Blue
  ob[ob.Row, 0].Background = &0000FF
+
    .Foreground = Color.Yellow
 
+
  <FONT Color=gray>' ''Mostra in console il testo contenuto nella riga/item cliccata:''</font>
  <FONT Color=gray>' ''Assegnamo il colore giallo al testo presente nella riga cliccata della "ListView":''</font>
+
    Print .Text
  ListView1[CStr(ob.Row + 1)].Richtext = "&lt;FONT Color=#FFFF00>&lt;B>" & listView1[ob.Row + 1].text
+
  End With
 
+
 
 
  '''End'''
 
  '''End'''

Versione attuale delle 15:13, 14 lug 2021

In questa pagina viene mostrata una modalità per assegnare colori allo sfondo ed al testo della riga (item) selezionata di un oggetto ListView:

Public Sub Form_Open()
 
 With ListView1
   .Add("1", "Riga_1")
   .Add("2", "Riga_2")
   .Add("3", "Riga_3")
   .Add("4", "Riga_4")
   .Add("5", "Riga_5")
   .Add("6", "Riga_6")
   .Add("7", "Riga_7")
 End With
 
End


Public Sub ListView1_Select()
 
 Dim s As String
 
' Assegna i colori predefiniti allo sfondo e al testo di ciascuna riga (item) della "ListView".
' Ogni riga/item è individuata mediante la sua chiave identificatrice, impostata nella precedente routine nel primo argomento del Metodo ".Add()":
 For Each s In ListView1.Keys
   ListView1[s].Background = Color.TextBackground
   ListView1[s].Foreground = Color.TextForeground
 Next
 
' In quest'altro caso il colore dello sfondo e del testo presente nella corrente riga/item,
' cliccata della "ListView", è assegnato individuando la corrente riga/item cliccata  con la proprietà ".Current":
 With ListView1.Current
' Assegna il colore blu allo sfondo e giallo al testo presente nella corrente riga/item cliccata della "ListView":
   .Background = Color.Blue
   .Foreground = Color.Yellow
' Mostra in console il testo contenuto nella riga/item cliccata:
   Print .Text
 End With
 
End