Comment capturer au niveau Windows Form la frappe d'une touche fonction (F8 par exemple) ?
7 réponses
Gilbert Tordeur
Bonjour.
J'ai positionné la propriété KeyPreview de mon formulaire à True, et j'ai
écrit une procédure qui capture l'élément Keypress.
Cette procédure est bien activée lorsque je tape une lettre, mais pas
lorsque je tape une touche Fn. Le but final est de proposer une action
clavier plus simple que Alt/lettre pour cliquer sur un bouton. Que faire ?
Merci de votre aide.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Patrick Philippot
Bonjour,
Cette procédure est bien activée lorsque je tape une lettre, mais pas lorsque je tape une touche Fn. Le but final est de proposer une action clavier plus simple que Alt/lettre pour cliquer sur un bouton. Que faire ? Merci de votre aide.
Interceptez l'événement KeyDown.
-- Patrick Philippot - Microsoft MVP MainSoft Consulting Services www.mainsoft.fr
Bonjour,
Cette procédure est bien activée lorsque je tape une lettre, mais pas
lorsque je tape une touche Fn. Le but final est de proposer une action
clavier plus simple que Alt/lettre pour cliquer sur un bouton. Que
faire ? Merci de votre aide.
Interceptez l'événement KeyDown.
--
Patrick Philippot - Microsoft MVP
MainSoft Consulting Services
www.mainsoft.fr
Cette procédure est bien activée lorsque je tape une lettre, mais pas lorsque je tape une touche Fn. Le but final est de proposer une action clavier plus simple que Alt/lettre pour cliquer sur un bouton. Que faire ? Merci de votre aide.
Interceptez l'événement KeyDown.
-- Patrick Philippot - Microsoft MVP MainSoft Consulting Services www.mainsoft.fr
Gilbert Tordeur
Impeccable. Je ne comprends pas pourquoi KeyDown au lieu de Keypress, mais ça marche. Merci. Gilbert
"Patrick Philippot" a écrit dans le message de news: O5jNO%
Bonjour,
Cette procédure est bien activée lorsque je tape une lettre, mais pas lorsque je tape une touche Fn. Le but final est de proposer une action clavier plus simple que Alt/lettre pour cliquer sur un bouton. Que faire ? Merci de votre aide.
Interceptez l'événement KeyDown.
-- Patrick Philippot - Microsoft MVP MainSoft Consulting Services www.mainsoft.fr
Impeccable. Je ne comprends pas pourquoi KeyDown au lieu de Keypress, mais
ça marche. Merci.
Gilbert
"Patrick Philippot" <patrick.philippot@mainsoft.xx.fr> a écrit dans le
message de news: O5jNO%2316FHA.3880@TK2MSFTNGP12.phx.gbl...
Bonjour,
Cette procédure est bien activée lorsque je tape une lettre, mais pas
lorsque je tape une touche Fn. Le but final est de proposer une action
clavier plus simple que Alt/lettre pour cliquer sur un bouton. Que
faire ? Merci de votre aide.
Interceptez l'événement KeyDown.
--
Patrick Philippot - Microsoft MVP
MainSoft Consulting Services
www.mainsoft.fr
Impeccable. Je ne comprends pas pourquoi KeyDown au lieu de Keypress, mais ça marche. Merci. Gilbert
"Patrick Philippot" a écrit dans le message de news: O5jNO%
Bonjour,
Cette procédure est bien activée lorsque je tape une lettre, mais pas lorsque je tape une touche Fn. Le but final est de proposer une action clavier plus simple que Alt/lettre pour cliquer sur un bouton. Que faire ? Merci de votre aide.
Interceptez l'événement KeyDown.
-- Patrick Philippot - Microsoft MVP MainSoft Consulting Services www.mainsoft.fr
Gilbert Tordeur
Ca ne marche pas quand c'est une datagrid qui a le focus. Que faire ? Gilbert
"Gilbert Tordeur" a écrit dans le message de news:
Impeccable. Je ne comprends pas pourquoi KeyDown au lieu de Keypress, mais ça marche. Merci. Gilbert
"Patrick Philippot" a écrit dans le message de news: O5jNO%
Bonjour,
Cette procédure est bien activée lorsque je tape une lettre, mais pas lorsque je tape une touche Fn. Le but final est de proposer une action clavier plus simple que Alt/lettre pour cliquer sur un bouton. Que faire ? Merci de votre aide.
Interceptez l'événement KeyDown.
-- Patrick Philippot - Microsoft MVP MainSoft Consulting Services www.mainsoft.fr
Ca ne marche pas quand c'est une datagrid qui a le focus. Que faire ?
Gilbert
"Gilbert Tordeur" <gilbert.tordeur@fr.york.com> a écrit dans le message de
news: OtIYXQ26FHA.636@TK2MSFTNGP10.phx.gbl...
Impeccable. Je ne comprends pas pourquoi KeyDown au lieu de Keypress, mais
ça marche. Merci.
Gilbert
"Patrick Philippot" <patrick.philippot@mainsoft.xx.fr> a écrit dans le
message de news: O5jNO%2316FHA.3880@TK2MSFTNGP12.phx.gbl...
Bonjour,
Cette procédure est bien activée lorsque je tape une lettre, mais pas
lorsque je tape une touche Fn. Le but final est de proposer une action
clavier plus simple que Alt/lettre pour cliquer sur un bouton. Que
faire ? Merci de votre aide.
Interceptez l'événement KeyDown.
--
Patrick Philippot - Microsoft MVP
MainSoft Consulting Services
www.mainsoft.fr
Ca ne marche pas quand c'est une datagrid qui a le focus. Que faire ? Gilbert
"Gilbert Tordeur" a écrit dans le message de news:
Impeccable. Je ne comprends pas pourquoi KeyDown au lieu de Keypress, mais ça marche. Merci. Gilbert
"Patrick Philippot" a écrit dans le message de news: O5jNO%
Bonjour,
Cette procédure est bien activée lorsque je tape une lettre, mais pas lorsque je tape une touche Fn. Le but final est de proposer une action clavier plus simple que Alt/lettre pour cliquer sur un bouton. Que faire ? Merci de votre aide.
Interceptez l'événement KeyDown.
-- Patrick Philippot - Microsoft MVP MainSoft Consulting Services www.mainsoft.fr
Patrick Philippot
> Impeccable. Je ne comprends pas pourquoi KeyDown au lieu de Keypress, mais ça marche. Merci.
KeyPress traite en fait l'événement WM_KEYCHAR qui est activé quand Windows se rend compte que la séquence keydown - keyup correspond à un caractère. Dans ce cas, il tient compte de l'état des touches d'altération du clavier pour déterminer quel caractère a été effectivement frappé A ou a par exemple. KeyDown se contente de retourner le scan code de la touche frappée et ne fait aucun interprétation.
-- Patrick Philippot - Microsoft MVP MainSoft Consulting Services www.mainsoft.fr
> Impeccable. Je ne comprends pas pourquoi KeyDown au lieu de Keypress,
mais ça marche. Merci.
KeyPress traite en fait l'événement WM_KEYCHAR qui est activé quand
Windows se rend compte que la séquence keydown - keyup correspond à un
caractère. Dans ce cas, il tient compte de l'état des touches
d'altération du clavier pour déterminer quel caractère a été
effectivement frappé A ou a par exemple. KeyDown se contente de
retourner le scan code de la touche frappée et ne fait aucun
interprétation.
--
Patrick Philippot - Microsoft MVP
MainSoft Consulting Services
www.mainsoft.fr
> Impeccable. Je ne comprends pas pourquoi KeyDown au lieu de Keypress, mais ça marche. Merci.
KeyPress traite en fait l'événement WM_KEYCHAR qui est activé quand Windows se rend compte que la séquence keydown - keyup correspond à un caractère. Dans ce cas, il tient compte de l'état des touches d'altération du clavier pour déterminer quel caractère a été effectivement frappé A ou a par exemple. KeyDown se contente de retourner le scan code de la touche frappée et ne fait aucun interprétation.
-- Patrick Philippot - Microsoft MVP MainSoft Consulting Services www.mainsoft.fr
Patrick Philippot
Gilbert Tordeur wrote:
Ca ne marche pas quand c'est une datagrid qui a le focus. Que faire ?
Traiter également KeyDown au niveau de la grille et propager l'événement sur la routine qui le traite pour la feuille.
-- Patrick Philippot - Microsoft MVP MainSoft Consulting Services www.mainsoft.fr
Gilbert Tordeur wrote:
Ca ne marche pas quand c'est une datagrid qui a le focus. Que faire ?
Traiter également KeyDown au niveau de la grille et propager l'événement
sur la routine qui le traite pour la feuille.
--
Patrick Philippot - Microsoft MVP
MainSoft Consulting Services
www.mainsoft.fr
"Patrick Philippot" a écrit dans le message de news:
Gilbert Tordeur wrote:
Ca ne marche pas quand c'est une datagrid qui a le focus. Que faire ?
Traiter également KeyDown au niveau de la grille et propager l'événement sur la routine qui le traite pour la feuille.
-- Patrick Philippot - Microsoft MVP MainSoft Consulting Services www.mainsoft.fr
Gloops
Bonjour,
Bon, maintenant que la réponse a été donnée, je propose d'élargir la question. Supposons que la touche doive interrompre le traitement, mais à un certain stade du traitement, en évitant d'interrompre en cours de boucle.
Voir là : http://www.mvps.org/accessfr/apis/api0030.htm ______________________________________________ Gilbert Tordeur a écrit, le 17/11/2005 10:35 :
Bonjour. J'ai positionné la propriété KeyPreview de mon formulaire à True, et j'ai écrit une procédure qui capture l'élément Keypress. Cette procédure est bien activée lorsque je tape une lettre, mais pas lorsque je tape une touche Fn. Le but final est de proposer une action clavier plus simple que Alt/lettre pour cliquer sur un bouton. Que faire ? Merci de votre aide.
Bonjour,
Bon, maintenant que la réponse a été donnée, je propose d'élargir la
question. Supposons que la touche doive interrompre le traitement, mais
à un certain stade du traitement, en évitant d'interrompre en cours de
boucle.
Voir là :
http://www.mvps.org/accessfr/apis/api0030.htm
______________________________________________
Gilbert Tordeur a écrit, le 17/11/2005 10:35 :
Bonjour.
J'ai positionné la propriété KeyPreview de mon formulaire à True, et j'ai
écrit une procédure qui capture l'élément Keypress.
Cette procédure est bien activée lorsque je tape une lettre, mais pas
lorsque je tape une touche Fn. Le but final est de proposer une action
clavier plus simple que Alt/lettre pour cliquer sur un bouton. Que faire ?
Merci de votre aide.
Bon, maintenant que la réponse a été donnée, je propose d'élargir la question. Supposons que la touche doive interrompre le traitement, mais à un certain stade du traitement, en évitant d'interrompre en cours de boucle.
Voir là : http://www.mvps.org/accessfr/apis/api0030.htm ______________________________________________ Gilbert Tordeur a écrit, le 17/11/2005 10:35 :
Bonjour. J'ai positionné la propriété KeyPreview de mon formulaire à True, et j'ai écrit une procédure qui capture l'élément Keypress. Cette procédure est bien activée lorsque je tape une lettre, mais pas lorsque je tape une touche Fn. Le but final est de proposer une action clavier plus simple que Alt/lettre pour cliquer sur un bouton. Que faire ? Merci de votre aide.