Differenze tra le versioni di "ComboBox che consente di posizionarsi sulla prima ricorrenza di un item quando si digitano le sue prime lettere"

Da Gambas-it.org - Wikipedia.
 
Riga 1: Riga 1:
 
Per ottenere un ''ComboBox'' che consenta di posizionarsi sulla prima ricorrenza di un item quando si digitano le sue prime lettere, si può usare questa soluzione:
 
Per ottenere un ''ComboBox'' che consenta di posizionarsi sulla prima ricorrenza di un item quando si digitano le sue prime lettere, si può usare questa soluzione:
 
  '''Public''' Sub Form_Open()   
 
  '''Public''' Sub Form_Open()   
     
+
 
 +
  ComboBox1.List = ["abcde", "abcef", "abefg", "acdef", "acdfg", "acefg"]  <FONT Color=gray>' ''Una lista esmplificativa di elementi testuali''</font>
 
   ComboBox1.Tag = 1   
 
   ComboBox1.Tag = 1   
 
        
 
        
 
  End   
 
  End   
     
+
     
 
 
  '''Public''' Sub ComboBox1_Change()   
 
  '''Public''' Sub ComboBox1_Change()   
 
        
 
        
Riga 20: Riga 20:
 
        
 
        
 
  '''End'''   
 
  '''End'''   
     
+
     
 
 
  '''Public''' Sub ComboBox1_KeyRelease()   
 
  '''Public''' Sub ComboBox1_KeyRelease()   
 
        
 
        

Versione attuale delle 06:03, 10 giu 2022

Per ottenere un ComboBox che consenta di posizionarsi sulla prima ricorrenza di un item quando si digitano le sue prime lettere, si può usare questa soluzione:

Public Sub Form_Open()  
  
  ComboBox1.List = ["abcde", "abcef", "abefg", "acdef", "acdfg", "acefg"]   ' Una lista esmplificativa di elementi testuali
  ComboBox1.Tag = 1  
     
End  

Public Sub ComboBox1_Change()  
     
  Dim s As Short
     
   With ComboBox1  
     s = .List.Find(String.Left(.Text, .Pos) & "*", gb.Like)
       If s > -1 Then
         .Text = ComboBox1[s].Text  
         .Pos = .Tag  
       Endif
   End With
     
End  

Public Sub ComboBox1_KeyRelease()  
     
  If Key.Code < 127 Then  
    Inc ComboBox1.Tag  
  Else  
    ComboBox1.Tag = ComboBox1.Pos + 1  
  Endif  
     
End