RV2931
Messages postés185Date d'inscriptionsamedi 21 mai 2005StatutMembreDernière intervention16 juillet 2016
-
14 mai 2006 à 21:02
racpp
Messages postés1909Date d'inscriptionvendredi 18 juin 2004StatutModérateurDernière intervention14 novembre 2014
-
17 mai 2006 à 03:14
Bonjour,
J'ai fait un programme qui contient un EditBox et un bouton qui est censé envoyer le contenu de l'EditBox.
Le truc c que je souhaite intercepter l'appui de la touche "enter" dans l'edit box pour envoyer le contenu sans avoir besoin de cliquer sur le bouton envoyer
J'ai réussi a intercepter la touche "enter" par un sous-classement, mais je ne sais pas comment faire après.
J'ai pensé à utiliser SendMessage pour envoyer un certain message au bouton pour lui dire que "j'appuie dessus virtuellement", mais je ne sais pas quels paramètres utiliser.
Je travaille avec le handle du Bouton, mais quoi mettre dans lParam et wParam ???
Je suis bloqué, et si qqu'un peut m'aider, ou alors me donner une autre façon de réaliser ce que je veut faire...
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 14 mai 2006 à 21:33
C'est la fenetre mère qui reçoit les events pour ses controles depuis la pompe à messages.
On va donc lui envoyer à elle:
hwnd pour le handle EDIT vu que tu es dans le sous classement du EDIT:
PostMessage(GetParent(hwnd), WM_COMMAND, idBttn, (long) hBttn);
return 0;
idBttn => identifiant du bouton cible tel que défini dans resource.h
hBttn => HWND du bouton mais tu peux passer 0 si tu ne te sers pas du lParam dans l'event du bouton, à toi de voir.
racpp
Messages postés1909Date d'inscriptionvendredi 18 juin 2004StatutModérateurDernière intervention14 novembre 201417 17 mai 2006 à 03:12
Salut,
Une autre méthode consiste à simuler le clic sur le bouton. Ca marche et, en plus, on voit le bouton s'enfoncer puis se relacher. Voici ce qu'il faut mettre dans la procédure de sous-classement de l'EditBox:
case WM_KEYDOWN:
if(wParam==VK_RETURN )
{
SendMessage(hwnd,WM_LBUTTONDOWN,0,0);
Sleep(100);
SendMessage((hwnd),WM_LBUTTONUP,0,0);
return 0;
}