VB6 Focus + Presse sur Entrer

Résolu
cs_ssefyou Messages postés 119 Date d'inscription samedi 3 mai 2008 Statut Membre Dernière intervention 18 juillet 2013 - 12 déc. 2009 à 14:07
cs_ssefyou Messages postés 119 Date d'inscription samedi 3 mai 2008 Statut Membre Dernière intervention 18 juillet 2013 - 12 déc. 2009 à 22:18
Salut,

j'ai une form qui contient une zone de text et des button,mon soucis c'est que je veux lancer un truc quant je tape la touche "entrer" du clavier
pour cela j'ai cree une sub form_keypresse .
mon probleme se pose quand un de mes button a le focus dans ce cas le presse sur la touche entrer declache un click
ce que je veux savoir est ce qu'il est possible de rien selectionner dans ma form et meme si je click sur un control il perd le focus
!!!
je suis sous VB6 (VB.net >>> VB6 )
youssef
Merci

6 réponses

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
12 déc. 2009 à 14:15
lancer une action en pressant une touche, ok, mais il vaux mieux un bon vieux bouton, sur lequel on puisse cliquer... (ne jamais ce contenter de raccourcis clavier)

d'autant qu'il suffira de mettre la propriété Default de ce bouton a True

pour que la touche entrée déclenche le _Click du bouton...


Renfield - Admin CodeS-SourceS - MVP Visual Basic
3
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
12 déc. 2009 à 14:15
Bonjour,
Il est toujours possible de faire en sorte qu'aucun contrôle de ta form ne puisse avoir le focus (propriété enabled ou visible mise à False pour tous)... Mais ensuite ? où vas-tu ainsi et pourquoi une Form et des contrôles, alors ?
En ce qui concerne la touche ENTER, elle est en effet interceptée prioritairement par Windows lui-même et ton code ne peut donc rien y faire lorsque le contrôle ayant le focus est susceptible de réagir à l'emploi de cette touche (ce sera, entre autres, le cas d'un bouton de commande, d'un optionbutton, etc...)
Si tu veux donc "lancer un truc" par utilisation d'une touche, choisis autre chose que la touche ENTER (ni la touche TAB, d'ailleurs...)


____________________
Très intéressante fable, L'OISELEUR, L'AUTOUR ET L'ALOUETTE !
Cliquer sur "Réponse acceptée" (en bas d'une solution avérée adéquate) rendra service à d'autres. PENSEZ-Y.
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
12 déc. 2009 à 14:16
pour detecter une touche depuis la form, quelque soit le controle qui a le focus, suffit au passagge de mettre sa popriété KeyPreview à True (sur ta Form)

Renfield - Admin CodeS-SourceS - MVP Visual Basic
0
cs_ssefyou Messages postés 119 Date d'inscription samedi 3 mai 2008 Statut Membre Dernière intervention 18 juillet 2013 1
12 déc. 2009 à 14:45
je pense que c fesable sans desactiver ou cacher les controls ,la preuve c la calculatrice de windows


Merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
12 déc. 2009 à 17:21
Oui ?
Alors :
1) la calculatrice de Windows est faite par ... Microsoft
2) Qui te dit, d'ailleurs, qu'elle est composée de CommandButtons ?
Et qui te dit que le focus n'est pas systématiquement donné, après chaque action, à la zone (apparemment de texte) tout en haut ? (ce qui est apparemment bien le cas, puisque si tu frappes un chiffre, il s'écrit automatiquement dans cette zone)
Tu peux d'ailleurs faire la même chose : ajouter une textbox et lui donner systématiquement le focus, depuis chaque autre contrôle sur lequel tu agirais, et gérer alors l'évènement KeyDown de ta textbox (if keycode = 13 then ...). Mais ce sera un bricolage (ajout d'une textbox dont tu n'as pas forcément besoin .... gêne constante de l'utilisateur, etc...)
Ce sera en tout état de cause, dans ces conditions là (textbox avec le focus après toute action, quelle que soit l'action) un évènement de la textbox et non un évènement général.
Mais enfin, ===>> nous t'avons, je pense, répondu le plus complètement possible et tu es seul à savoir quelles sont les contraintes de ton appli et les gênes qu'occasionnerait un tel procédé.



____________________
Très intéressante fable, L'OISELEUR, L'AUTOUR ET L'ALOUETTE !
Cliquer sur "Réponse acceptée" (en bas d'une solution avérée adéquate) rendra service à d'autres. PENSEZ-Y.
0
cs_ssefyou Messages postés 119 Date d'inscription samedi 3 mai 2008 Statut Membre Dernière intervention 18 juillet 2013 1
12 déc. 2009 à 22:18
Merci pour le conseil
0
Rejoignez-nous