IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage C++ Discussion :

Différenciation entre une pression ENTER VS RETURN


Sujet :

Langage C++

  1. #1
    Candidat au Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mars 2016
    Messages : 4
    Points : 3
    Points
    3
    Par défaut Différenciation entre une pression ENTER VS RETURN
    Bonjour,

    En C ou C++, il y a t il moyen de différencier la touche RETURN de la touche ENTREE ?

    J'ai testé en C++ un bout de code utilisant VK_RETURN les 2 touches semblent avoir le même code de retour, alors peut être en C.
    Si vous avez un exemple, je suis preneur.

    Merci d'avance !

  2. #2
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 381
    Points : 41 582
    Points
    41 582
    Par défaut
    Euh, la distinction Enter/Return, c'est un truc du temps des Amstrad CPC, ça...
    De nos jours, il n'y a que des touches Enter.

    Je suppose que ta question concerne en fait la possibilité de différentier ces deux touches Entrée?
    Eh bien avec un peu de chance, bien qu'elles aient le même virtual-key code (et en fait, on dirait que ce sont les seules touches sans distinction, contrairement aux shifts, control, alt etc.), il est possible que leur scan code diffère.

    Voir du côté de MapVirtualKeyEx(), alors...

    Edit: Ou tout simplement, le bit 24 du LPARAM de WM_KEYDOWN...

  3. #3
    Candidat au Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mars 2016
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    merci pour ta réponse.

    En fait c'est toujours d'actualité. J'ai téléchargé une appli de test pour clavier et on voit bien une détection différente entre l'entrée du pavé numérique et celle côté alpha.

    En C#, il n'y a apparemment aucun moyen. Je me tourne donc vers C++ ou C

  4. #4
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 381
    Points : 41 582
    Points
    41 582
    Par défaut
    Ah si si si il y a moyen en C#, il faut juste traiter soi-même le message WM_KEYDOWN comme c'est fait en C++:
    http://stackoverflow.com/a/5989521/1455631

    (bien sûr, il y a des erreurs dans ce code -- notamment, le test est mal fait, ce qu'il faut c'est faire un & avec (1<<24); et utiliser des constantes plutôt que des nombres magiques -- mais c'est l'idée générale)

  5. #5
    Candidat au Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mars 2016
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    Un grand merci Médinoc. Çà marche parfaitement !

  6. #6
    Candidat au Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mars 2016
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    Médinoc,

    ton astuce fonctionne bien, tant qu'aucun contrôle n'apparaît sur la Form. Dès qu'un contrôle a été placé, il semble dériver tous les événements clavier.
    Une idée ?

    Merci d'avance

  7. #7
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 381
    Points : 41 582
    Points
    41 582
    Par défaut
    Ça, c'est une histoire de focus. Et de contrôle "container".

    .Net considère qu'un contrôle voué à en contenir d'autres (y compris un UserControl) n'est jamais censé avoir le focus tant qu'un des contrôles qu'il contient peut le recevoir. Ce qui est un peu normal, en fait.

    Donc, tu vas devoir faire ton traitement spécifique de WM_KEYDOWN sur les contrôles que tu ajoutes (via des classes dérivées) plutôt que sur le conteneur.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 28/07/2005, 21h30
  2. Com entre une appli java et du javaScript dans du Html
    Par bpy1401 dans le forum Applets
    Réponses: 1
    Dernier message: 20/07/2005, 09h54
  3. Réponses: 2
    Dernier message: 25/05/2005, 21h34
  4. Réponses: 4
    Dernier message: 22/02/2005, 17h08
  5. Réponses: 3
    Dernier message: 11/04/2004, 01h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo