Faire dérouler un combo au changement de contenu de celui_ci

cs_Eric25 Messages postés 175 Date d'inscription mardi 19 octobre 2004 Statut Membre Dernière intervention 26 juin 2006 - 1 févr. 2005 à 13:06
cs_Eric25 Messages postés 175 Date d'inscription mardi 19 octobre 2004 Statut Membre Dernière intervention 26 juin 2006 - 1 févr. 2005 à 14:40
Bonjour,

Je désire faire une saisie semi-automatique d'un combo. J'ai trouvé un code qui fonctionne parfaitement avec la saisie (avec clavier ordinaire). Voir code ci-desous:

Private Sub CbUti_KeyUp(KeyCode As Integer, Shift As Integer)
'Saisie semie-automatique du combo utilisateur
If KeyCode = vbKeyBack Then Exit Sub
Dim i As Integer
Wcount = Len(CbUti.Text)
If CbUti.Text = "" Then Exit Sub
For i = 0 To CbUti.ListCount - 1
If LCase(CbUti.Text) = LCase(Left(CbUti.List(i), Wcount)) Then
CbUti.Text = CbUti.Text & Mid(CbUti.List(i), CbUti.SelStart + 1)
CbUti.SelStart = Wcount
CbUti.SelLength = Len(CbUti.Text)
Exit For
End If
Next i
End Sub

Le problème c'est que mon interface fonctionne également avec un clavier tactile que je crée sur l'écran avec des boutons a, b, c....:
voici par exemple le code du bonton B :
Private Sub CmdB_Click()
If IndClav1 = 0 Then
CbUti = CbUti + "b"
Else
TxtMot = TxtMot + "b"
TxtMot.PasswordChar = "*"
End If
End Sub

mon code de saisi semi automatique intervenant sur l'évenement keyup de marche plus avec l'alimentation par le clavier tactile. Je cherche donc à déclencher le déroulement du combo lorsque le contenu du chekbox change.
Cela est-il possible ?
Si quelqu'un a une idée pour effectuer une saisie automatique avec ce clavier tactile, je suis preneur...

Merci d'avance

2 réponses

cqui789 Messages postés 261 Date d'inscription jeudi 13 janvier 2005 Statut Membre Dernière intervention 18 mai 2009 3
1 févr. 2005 à 13:56
tu peut appeler la fonction 'CbUti_KeyUp' depuis l'evenement du clavier



call CbUti_KeyUp(....)
0
cs_Eric25 Messages postés 175 Date d'inscription mardi 19 octobre 2004 Statut Membre Dernière intervention 26 juin 2006 3
1 févr. 2005 à 14:40
Oui, biensur, mais dans ce cas, ce n'est pas super car comme il y a un renvoi de focus, la deuxième lettre saisie vient se positionner à la fin de la saisie semi automatique (Stéphaniet...). De plus, le premier caractère saisie reste en place :
Par exemple si je tape a : le combo va afficher aAndré au lieu d'afficher André.
La manipulation commence à être complexe et je ne trouve pas de solution qui fonctionne vraiment.

Help...
0
Rejoignez-nous