2010-07-29 6 views
0

Salut à tous, je cherche un moyen d'envoyer une lettre/un nombre de touches à une zone de texte. La raison pour laquelle j'ai besoin de ceci est que cette zone de texte est une boîte de saisie semi-automatique qui, lorsque l'utilisateur tape, affiche une liste de suggestions comme Google. Cependant, pour que cela fonctionne, l'utilisateur doit cliquer dans la boîte et taper quelque chose. Je peux envoyer un nombre/lettre à la boîte que je veux utiliser ce code:VB6 envoyant une touche à une zone de texte

Private Sub Command_Click() 
    AutoComplete1.Text = "g" 
End Sub 

Et il ne le mettre dans la zone de texte, mais il ne déclenche pas la liste de saisie semi-automatique (la liste a des mots comme « bonne », » super "," pop "," test "). Seulement quand je clique dans la zone de texte et tapez "g" est la seule fois que je reçois les "bonnes", "bonnes" suggestions.

Y at-il un moyen de déclencher cela avec le code que j'ai posté ci-dessus?

Merci!

David

Répondre

0

Que diriez-vous de mettre le code dans l'événement KEY_PRESS de la zone de texte au lieu d'événement de clic du bouton de commande?

+0

Il a une pression de touche dans le code du bouton AutoComplete1 (son un User Control) mais il a aussi mousedown, mouseup, mousemove, keyup, keydown, keypress et changement. – StealthRT

2

Ne serait-

AutoComplete1.SetFocus() 
SendKeys("g") 

faire?

+0

Ne fait rien lors de l'ajout du composant AutoComplete1.SetFocus. – StealthRT

+0

@StealthRT Juste pour être sûr, vous avez essayé 'AutoComplete1.SetFocus(): SendKeys (" g ")' pas 'AutoComplete1.SetFocus(): AutoComplete1.Text =" g "' – MarkJ

0

Je pense serait d'utiliser l'événement keyUp et feu le code qui affiche la liste de suggestion si elle ne se déclenche pas par l'événement KeyUp se

Questions connexes