galax98
Messages postés49Date d'inscriptionmardi 27 mars 2007StatutMembreDernière intervention29 juin 2020
-
4 nov. 2010 à 15:05
galax98
Messages postés49Date d'inscriptionmardi 27 mars 2007StatutMembreDernière intervention29 juin 2020
-
4 nov. 2010 à 20:47
Bonjour
Surement une question tres basique , mais ca fait pas mal de temps que je cherche sans succes.
J'ouvre une boite de dialogue definie avec DIALOGEX dans mes ressources, pour permettre à l'utilisatuer de rentrer un nombre de 8 chiffres.
Tout se passe bien, sauf que le curseur n'apparait pas automatiquement dans la zone de saisie, il faut cliquer à l'interieur pour cela. Est il possible de faire apparaitre le curseur dès l'ouverture de la box, ce qui permettrait à l'utilisateur d'entrer directement les chiffres sans avoir à cliquer sur la zone de saisie au depart ?
Merci
galax98
Messages postés49Date d'inscriptionmardi 27 mars 2007StatutMembreDernière intervention29 juin 2020 4 nov. 2010 à 16:13
Non, en fait ya un pb. Si je mets le SetFocus au debut de ma fonction CALLBACK, le curseur s'affiche bien dès le depart, je peux rentrer mes chiffres mais alors je ne peux plus cliquer sur le "OK"
Vous n’avez pas trouvé la réponse que vous recherchez ?
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 4 nov. 2010 à 20:31
OUST tout cela.
case WM_INITDIALOG:
// CODE D'INIT SI BESOIN
return 1;
Le focus dans une dialogBox ne se gère pas à coups de SetFocus(). Qaund la dialog apparaitra en fin de WM_INITDIALOG, le focus sera normalement sur le 1er controle dans l'ordre de tabulation défini au moment de la conception de la dialog.
Pendant déroulement du code suite à action utilisateur ou autre, si besoin de placer le focus où on veut, c'est ainsi:
Sur un controle précis:
PostMessage(hdlg, WM_NEXTDLGCTL, (WPARAM) hCtrl, 1);
Controle suivant:
PostMessage(hdlg, WM_NEXTDLGCTL, 0, 0);
Controle précédent:
PostMessage(hdlg, WM_NEXTDLGCTL, 1, 0);
galax98
Messages postés49Date d'inscriptionmardi 27 mars 2007StatutMembreDernière intervention29 juin 2020 4 nov. 2010 à 20:47
Merci,
en repondant beaucoup plus largement à la question, ta réponse ma fait réaliser que le curseur n'apparaissait pas car ma zone de saisie n'etait tout simplement pas définie en premier ....
merci encore