Accueil > Forum > > > > Touche return sur contrôle EDIT
Touche return sur contrôle EDIT
dimanche 8 mai 2011 à 17:32:44 |
Touche return sur contrôle EDIT

ArthurAuguste
|
Bonjour,
J’ai une fenêtre principale et une fenêtre enfant, ma fenêtre enfant est un simple contrôle "EDIT" créé avec CreateWindow("EDIT",…..). Je voudrais tout simplement récupérer le contenu de ce contrôle lorsque l’utilisateur appuie sur la touche "ENTER" (relâchement par exemple de VK_RETURN). Or dans mon programme principal je ne reçois pas les messages de type WM_CHAR, ni WM_KEYUP, ni WM_KEYDOWN car au moment où l’utilisateur appuie sur la touche "ENTER", c’est le contrôle "EDIT" qui a le focus (ce qui est normal puisqu’il est entrain de saisir des infos) et non pas le programme principal. Et par ailleurs je n’ai pas de callback spécifique à la fenêtre enfant puisque c’est une classe de fenêtre prédéfinie (EDIT). Je m’en suis provisoirement sorti en faisant dans mon programme principal un SetWindowsHookEx(WH_KEYBOARD, (HOOKPROC)hkproc, n0instance, 0) dans la callback de laquelle je ne filtre que les touches "ENTER". Mais cette solution (qui marche) me paraît lourde et il doit bien y avoir une solution plus élégante pour être averti que l’utilisateur a appuyé sur la touche "ENTER".
Merci pour vos suggestions
|
|
dimanche 8 mai 2011 à 18:41:29 |
Re : Touche return sur contrôle EDIT

mogwai93
|
Réponse acceptée !
le sous classement repondra à tes attentes :
http://chgi.developpez.com/windows/subclassing/
|
|
dimanche 8 mai 2011 à 18:52:24 |
Re : Touche return sur contrôle EDIT
|
dimanche 8 mai 2011 à 20:29:52 |
Re : Touche return sur contrôle EDIT

ArthurAuguste
|
To -> mogwai93: Effectivement, le sous-classement répond complètement à ma question.
TO -> racpp: J'ai regardé ton code, mais j'ai l'impression que ça marche chez toi parce que l'appui sur la touche ENTER se comporte par défaut comme un clic sur le bouton. Il suffit alors de filtrer le "IDOK". Mais dans mon cas je n'ai aucun bouton (j'ai juste le contrôle EDIT) j'ai quand même à tout hasard essayé de tester le IDOK mais ça ne fonctionne pas.
Merci
|
|
dimanche 8 mai 2011 à 20:40:52 |
Re : Touche return sur contrôle EDIT

racpp
|
Pour éviter le sous-classement, on met un bouton invisible qui sera traité comme un bouton normal. Dans le traitement du clic sur le bouton, on met le code à exécuter quand ENTER est actionné. C'est une astuce qui permet d'alléger et simplifier le code et fonctionne parfaitement.
|
|
lundi 9 mai 2011 à 08:09:56 |
Re : Touche return sur contrôle EDIT

ArthurAuguste
|
J’avais vu l’histoire du bouton par défaut, mais dans mon cas le bouton par défaut, même invisible, n’est pas très ergonomique car je balade sans arrêt mon contrôle EDIT dans une grille, et la solution du bouton par défaut m’oblige à balader un sous-ensemble plus important que le contrôle EDIT, sous-ensemble qui doit inclure aussi le bouton par défaut.
Merci
|
|
Cette discussion est classée dans : contrôle, edit, enter, fenêtre, touche
Répondre à ce message
Sujets en rapport avec ce message
Edit_box et la touche Enter [ par by_rabbit_08 ]
Bonjour!Je sais que cette question a été posée plusieurs fois, mais pas exactement comme je l'aimerais, et malgré tout ce que j'ai lu, je n'arrive pas
EDIT avec WM_EX_CLIENTEDGE [ par vecchio56 ]
Bonjour J'ai un petit problème un peu difficile à expliquer: J'ai une fenêtre sans le style WS_CHILDWINDOW qui a une child edit. Je dessine par dessu
Centrer le texte d'un contrôle Edit dans C++ Builder [ par HeavenForsaker ]
Bonjour, Je voulais savoir si c'était possible de centrer le texte d'un contrôle Edit (Aligné a gauche par défaut). Je sais qu'on peux le faire sur u
ENTER dans une zone de texte [ par anthraxx ]
Comment on fait pour que lorsque l'utilisateur, en train de taper un texte dans un controle "EDIT", tape entrée, une fonction soit appelée?J'ai pas tr
Edit Box + Default Button [ par Manson ]
Salut,j'avais trouve sur msdn comment faire mais je ne le retrouve pas. J'aimerai associer une fonction a une touche dans un editbox. Par exemple dire
Contrôle Edit de visual c++ 6 ? [ par Zootella ]
Hello, Est-ce que le contrôle ou on tape le code dans vc6 tout comme dev-c++ est un controle edit multines ? si oui, comment avoir la barre à gauche
Visual C++ : Taille d'un edit box [ par wanny ]
Bonjour à tous.Je voudrais savoir comment connaitre la taille (Hauteur et Largeur) d'un edit box contenu dans une fenêtre dialogue.C'est pour pouvoir
Type de fenêtre vide [ par CyberP ]
Je voudrais savoir s'il y avait un type de fenêtre (comme edit, static, listbox, etc ou encore celles créées avec RegisterClassEx) qui soit vide (en q
passage d'un control a l'autre par la touche enter [ par chemins_hermes ]
bonjour, je cherche le moyen de creer un control Tedit qui- 1 : n'accepte que les nombres (expl: 1.02 , 2.00 )- 2 : a la validation par Enter passe
Problème d’accès au contrôle d’une fenêtre. [ par Superweight ]
Bonjour a tous,Mon problème est le suivant: lorsque que je crée une nouvelle classe sous un projet SDI, je souhaite pourvoir contrôler les contrôles d
Livres en rapport
|
Derniers Blogs
POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc
Forum
MATLAB PROGRAMME MATLAB PROGRAMME par wahab1087
Cliquez pour lire la suite par wahab1087 RGB2GRAYRGB2GRAY par musa18
Cliquez pour lire la suite par musa18
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|