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

MFC Discussion :

[MFC] Flags sur OnKeyDown


Sujet :

MFC

  1. #1
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par défaut [MFC] Flags sur OnKeyDown
    Bonjour à tous,

    Sur mon appli, lorsque je récupère les flags sur l'evenement OnKeyDown
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    afx_msg void OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags);
    des fois, le bit 12 est positionné. MSDN me dit que c'est utilisé par windows de manière interne.

    Je voulais savoir si vous saviez pourquoi dans certains cas il était positionné et pourquoi dans d'autres, il ne l'était pas. Bien sur, je peux m'en sortir avec un masque binaire, mais n'empeche que j'aimerai bien savoir ...


    Merci de votre aide

  2. #2
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par défaut
    Bon, ca n'inspire pas les foules ...

    Pas de début de germes d'idées ?

  3. #3
    mat.M
    Invité(e)
    Par défaut
    Apparemment ce n'est pas effectivement utilisé et réservé en interne
    Programming the MFC de Jeff Prosise

    The nFlags parameter contains the key's scan code and zero or more of the bit flags described here:

    Bit(s) Meaning Description
    0_7 OEM scan code 8-bit OEM scan code
    8 Extended key flag 1 if the key is an extended key, 0 if it is not
    9_12 Reserved N/A
    13 Context code 1 if the Alt key is pressed, 0 if it is not
    14 Previous key state 1 if the key was previously pressed, 0 if it was up
    15 Transition state 0 if the key is being pressed, 1 if it is being released


    The extended key flag allows an application to differentiate between the duplicate keys that appear on most keyboards. On the 101-key and 102-key keyboards used with the majority of IBM-compatible PCs, the extended key flag is set for the Ctrl and Alt keys on the right side of the keyboard; the Home, End, Insert, Delete, Page Up, Page Down, and arrow keys that are clustered between the main part of the keyboard and the numeric keypad; and the keypad's Enter and forward-slash (/) keys. For all other keys, the extended key flag is 0. The OEM scan code is an 8-bit value that identifies the key to the keyboard BIOS. Most Windows applications ignore this field because it is inherently hardware dependent. (If needed, scan codes can be translated into virtual key codes with the ::MapVirtualKey API function.) The transition state, previous key state, and context code are generally disregarded too, but they are occasionally useful. A previous key state value equal to 1 identifies typematic keystrokes—keystrokes generated when a key is pressed and held down for some length of time. Holding down the Shift key for a second or so, for instance, generates the following sequence of messages:

  4. #4
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par défaut
    Merci Mat de ta réponse.

    Tant pis, je vais faire avec

  5. #5
    mat.M
    Invité(e)
    Par défaut
    est-ce que cela te pose vraiment problême ?

  6. #6
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par défaut
    nonon, ca ne me pose pas de problème puisque je travaille sur les bits avec un masque binaire.
    Par contre, j'avais un comportement à problème qui produisait justement un changement de ce 12ieme bit, donc j'aurai pu esperer trouver une réponse de ce coté là.

    Finalement, j'ai trouvé une autre facon de ne plus avoir ce comportement génant, donc ... mon problème est résolu

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

Discussions similaires

  1. [MFC] Plantage sur LoadFrame
    Par thieum74 dans le forum MFC
    Réponses: 11
    Dernier message: 06/09/2007, 13h15
  2. Réponses: 15
    Dernier message: 18/01/2005, 23h18
  3. Réponses: 9
    Dernier message: 23/02/2004, 19h14
  4. [MFC] Boucle sur un bouton
    Par karl3i dans le forum MFC
    Réponses: 6
    Dernier message: 17/02/2004, 11h37
  5. [MFC]Info sur da la fusion sous Word
    Par kor dans le forum MFC
    Réponses: 6
    Dernier message: 22/08/2003, 11h14

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