Differenze tra le versioni di "Mostrare con diversi colori i nomi dei file in una FileView"

Da Gambas-it.org - Wikipedia.
 
(5 versioni intermedie di uno stesso utente non sono mostrate)
Riga 7: Riga 7:
 
La ''IconView'' possiede la Proprietà ".Keys", i cui elementi rappresentano il nome di ogni file mostrato e posseggono la Proprietà ".RichText".
 
La ''IconView'' possiede la Proprietà ".Keys", i cui elementi rappresentano il nome di ogni file mostrato e posseggono la Proprietà ".RichText".
  
Per ottenere colori diversi per il nome di ciascun file mostrato, sarà sufficiente attribuire impostare nella predetta Proprietà ".RichText" il tag html <FONT Color=....... <SUP>&#091;[[#Note|Nota 1]]&#093;</sup>
+
Per ottenere colori diversi per il nome di ciascun file mostrato, sarà sufficiente attribuire impostare nella predetta Proprietà ".RichText" il tag html: &#060;FONT Color=......> <SUP>&#091;[[#Note|Nota 1]]&#093;</sup>
  
Mostriamo un esempio:
+
Mostriamo un esempio in cui la visualizzazione dei file nel Controllo ''FileView'' è in modalità predefinita "non dettagliata":
 +
Private iv As IconView
 +
 +
 
  Public Sub Form_Open()
 
  Public Sub Form_Open()
 
   
 
   
 
   Dim p As Panel
 
   Dim p As Panel
  Dim iv As IconView
 
  Dim s As String
 
 
   
 
   
 
  <FONT Color=gray>' ''Ottiene la variabile che punta al "Panel", "figlio" del "FileView":''</font>
 
  <FONT Color=gray>' ''Ottiene la variabile che punta al "Panel", "figlio" del "FileView":''</font>
Riga 21: Riga 22:
 
  <FONT Color=gray>' ''Ottiene la variabile che punta al Controllo "IconView", "figlio" del "Panel":</font>
 
  <FONT Color=gray>' ''Ottiene la variabile che punta al Controllo "IconView", "figlio" del "Panel":</font>
 
   iv = p.Children[0]
 
   iv = p.Children[0]
 
+
  <FONT Color=gray>' ''Per esempio, se il nome del file ha al suo interno la lettera "b", allora il suo testo diventa rosso:</font>
+
<FONT Color=gray>' ''Saranno mostrati e presi in considerazione i file presenti nella cartella "/tmp":</font>
 +
  FileView1.Dir = "/tmp"
 +
  FileView1.Refresh
 +
 
 +
End
 +
 +
Public Sub FileView1_Refresh()
 +
 +
  Dim s As String
 +
 +
  <FONT Color=gray>' ''Per esempio, se il nome del file ha al suo interno la lettera "b" (sia minuscola che maiuscola), allora il suo testo diventa rosso:</font>
 
   For Each s In iv.Keys
 
   For Each s In iv.Keys
 
     If File.Name(s) Like "*b*" Then
 
     If File.Name(s) Like "*b*" Then
       iv[s].RichText = "<font color=red>&#055;" & iview[s].Text & "</font>"
+
       iv[s].RichText = "&#060;FONT Color=red>" & iv[s].Text & "&#060;/font>"
 
     Endif
 
     Endif
 
   Next
 
   Next
 
+
 
  End
 
  End
  
Riga 34: Riga 45:
  
 
=Note=
 
=Note=
[1] Questa soluzione è stata fornita da "BruceSteers", membro del sito
+
[1] Questa soluzione è stata fornita da "BruceSteers", membro del sito: https://forum.gambas.one/index.php

Versione attuale delle 14:39, 26 apr 2023

I nomi dei file mostrati in una FileView appaiono tutti del medesimo colore.

La FileView è costituita, come "Figlio", da un Oggetto Panel, che a sua volta contiene, come proprio "Figlio", un Oggetto IconView.

Va precisato che il FileView si serve proprio di tale IconView per mostrare i file.

La IconView possiede la Proprietà ".Keys", i cui elementi rappresentano il nome di ogni file mostrato e posseggono la Proprietà ".RichText".

Per ottenere colori diversi per il nome di ciascun file mostrato, sarà sufficiente attribuire impostare nella predetta Proprietà ".RichText" il tag html: <FONT Color=......> [Nota 1]

Mostriamo un esempio in cui la visualizzazione dei file nel Controllo FileView è in modalità predefinita "non dettagliata":

Private iv As IconView


Public Sub Form_Open()

 Dim p As Panel

' Ottiene la variabile che punta al "Panel", "figlio" del "FileView":
 p = FileView1.Children[0]
 
' Ottiene la variabile che punta al Controllo "IconView", "figlio" del "Panel":
 iv = p.Children[0]

' Saranno mostrati e presi in considerazione i file presenti nella cartella "/tmp":
 FileView1.Dir = "/tmp"
 FileView1.Refresh
 
End

Public Sub FileView1_Refresh()

 Dim s As String

' Per esempio, se il nome del file ha al suo interno la lettera "b" (sia minuscola che maiuscola), allora il suo testo diventa rosso:
 For Each s In iv.Keys
   If File.Name(s) Like "*b*" Then
     iv[s].RichText = "<FONT Color=red>" & iv[s].Text & "</font>"
   Endif
 Next

End


Note

[1] Questa soluzione è stata fornita da "BruceSteers", membro del sito: https://forum.gambas.one/index.php