mohdaef
Messages postés68Date d'inscriptionvendredi 23 novembre 2007StatutMembreDernière intervention14 mars 2012
-
10 mars 2008 à 17:54
racpp
Messages postés1910Date d'inscriptionvendredi 18 juin 2004StatutModérateurDernière intervention14 novembre 2014
-
10 mars 2008 à 20:37
Bonjour.
J'ai un problème de sortie d'un edit multiligne, je m'explique. Dans un fenêtre j'ai plusieur contrôle edit dont un qui possède l'option ES_MULTINE et ES_READONLY, la navigation au clavier avec la touche TAB fonctionne très bien jusqu'a que je tombe dans ce contrôle edit, une fois à l'intérieur impossible d'en ressortir.
J'ai écris ce code mais sans succés.
case WM_KEYDOWN:
switch(wParam)
{
case VK_TAB:
if (GetFocus() == hedit4)
{
SetFocus(hedit1);
}
return 0;
default :
break;
}
return 0;
Lorsque j'appui sur la touche TAB l'appui n'est pas détecté et le focus reste dans cet edit4 et ne repart pas dans l'edit1.
racpp
Messages postés1910Date d'inscriptionvendredi 18 juin 2004StatutModérateurDernière intervention14 novembre 201417 10 mars 2008 à 18:52
Salut,
Dans la procédure de ta fenêtre, tu traites le message WM_NEXTDLGCTL comme ceci:
case WM_NEXTDLGCTL:
SetFocus(hedit1);
return 0;
Si tu veux que ton Edit ne reçoive jamais le focus, enlève son style WS_TABSTOP et sous-classe le. Dans la procédure de sous-classement, tu retournes 0 en réponse aux messages WM_SETFOCUS et WM_SETCURSOR.