by_rabbit_08
Messages postés109Date d'inscriptionvendredi 8 avril 2005StatutMembreDernière intervention15 mai 2007
-
6 sept. 2006 à 11:25
by_rabbit_08
Messages postés109Date d'inscriptionvendredi 8 avril 2005StatutMembreDernière intervention15 mai 2007
-
6 sept. 2006 à 19:19
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 à faire ce que je veux...
C'est un problème simple:
J'ai une edit box, et un bouton. J'aimerais que lorsque le curseur se trouve dans l'edit box, après avoir écris du texte, en pressant simplement la touche enter, on a par exemple une MessageBox avec le qui apparaisse, ou quoi que ce soit... Est-ce que quelqu'un pourrait m'aider?
Merci d'avance!
By_rabbit_08
mogwai93
Messages postés361Date d'inscriptionmardi 31 décembre 2002StatutMembreDernière intervention19 mars 2015 6 sept. 2006 à 11:50
pour recuperer un evenement special dans un edit box (comme l'appui de la touche entree)
il te faut utiliser SetWindowLong
exemple rapide :
// tu crees ton edit
OldEditProc= (WNDPROC) SetWindowLong(hWndMonEdit, GWL_WNDPROC, (LPARAM)EditProc);
LRESULT CALLBACK EditProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
switch (message)
{
// tu codes ici l'evenement dont tu as besoin avec le resultat que tu veux
}
}
yoyo269
Messages postés1403Date d'inscriptionlundi 23 février 2004StatutMembreDernière intervention11 janvier 20093 6 sept. 2006 à 13:27
Juste pour info by_rabbit_08, cette technique s'appelle du sous classement.
Elle est même généralisable aux autres contrôles, pour récupérer des messages.
YOYO, @+.
"L'intelligence c'est comme un parachute, quand on en n'a pas...on s'écrase !"
Vous n’avez pas trouvé la réponse que vous recherchez ?
by_rabbit_08
Messages postés109Date d'inscriptionvendredi 8 avril 2005StatutMembreDernière intervention15 mai 20071 6 sept. 2006 à 18:51
J'ai donc essayé de réaliser ceci, dans un code de base. J'ai simplement pris l'exemple de base d'un fenêtre sans rien, je lui ai rajouté un edit avec CreateWindowEx et j'ai également ajouté un bouton. J'ai ensuite essayé d'adapter mon code sous différentes façons, et j'ai obtenu ceci avec la méthode de Joky, où il y avait un exemple un peu plus concret:
Malheureusement cela ne marche pas mieu... Est-ce que vous auriez des informations complémentaire? Quelque chose que je devrais modifier dans mon code?
Merci d'avance!
By_rabbit_08
racpp
Messages postés1910Date d'inscriptionvendredi 18 juin 2004StatutModérateurDernière intervention14 novembre 201415 6 sept. 2006 à 18:59
Salut,
Il existe aussi une autre technique plus simple. Tu définis un bouton par défaut. Ce dernier réagit à la pression de la touche ENTREE même qaund le focus se trouve dans un Edit. Le bouton peut être soit visible, soit caché. Regarde cette page qui traite des deux cas, boite de dialogue ou fenêtre: Bouton BS_DEFPUSHBUTTON.
vecchio56
Messages postés6535Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention22 août 201013 6 sept. 2006 à 18:59
-GetDlgItem(hwnd, EDIT) ne fonctionne pas car l'edit n'est pas encore créé à ce moment
-A quoi sert WndProc? Tout mettre dans WindowProcedure
Dans EditProc: ne pas utiliser DefWindowProc mais CallWindowProc(wOldProc, ...
by_rabbit_08
Messages postés109Date d'inscriptionvendredi 8 avril 2005StatutMembreDernière intervention15 mai 20071 6 sept. 2006 à 19:19
Ok ben merci racpp! J'ai utilisé ta méthode et ça marche! Donc pour l'instant je vais faire avec cela! Mais est-ce quelqu'un pourrait me modifier un peu mon code pour utiliser une méthode plus "habituelle" (à ce que j'ai entendu :O) comme celles du début de la discussion... Cela pourrait en apprendre à beaucoup de monde certainement!
Merci encore
By_rabbit_08