cs_ssefyou
Messages postés119Date d'inscriptionsamedi 3 mai 2008StatutMembreDernière intervention18 juillet 2013
-
12 déc. 2009 à 14:07
cs_ssefyou
Messages postés119Date d'inscriptionsamedi 3 mai 2008StatutMembreDernière intervention18 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
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 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...
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018211 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.
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 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)
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018211 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.