C++ : API win

Fermé
benguigui1 Messages postés 26 Date d'inscription jeudi 28 octobre 2004 Statut Membre Dernière intervention 13 septembre 2006 - 24 sept. 2005 à 12:39
benguigui1 Messages postés 26 Date d'inscription jeudi 28 octobre 2004 Statut Membre Dernière intervention 13 septembre 2006 - 28 sept. 2005 à 10:02
Bonjour à tous, je débute en programmation c++ windows : je voudrais récuperer des donnees saisies par l'utilisateur ds des EDIT que j'ai créés avec CreateWindowEx()
1) j'aimerais pouvoir aller d'un EDIT à l'autre avec TAB (comme il se fait généralemnt, comment faire ? j'ai utilisé WS_TABSTOP, mais ça ne marche pas..
2) comment recupérer les données saisies, puisque les données que je dois manipuler sont de type float, je pense qu'il faudra convertir non ? Quelle méthode utilser ? GetWindowText() ? GetDlgItem() ou autre chose ?

je vous avez prévenus, je débute ;-)

3) ensuite il faudra que j'imprime le résultat des ces manipulations (avec un aperçu avant impression), mais je n'y suis pas encore et ça fera l'objet d'une autre question...

Merci pour vos réponses et bonne journée

7 réponses

benguigui1 Messages postés 26 Date d'inscription jeudi 28 octobre 2004 Statut Membre Dernière intervention 13 septembre 2006 6
27 sept. 2005 à 11:02
bon pour le 2) c'est réglé ...
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
27 sept. 2005 à 11:22
Salut,

Désolé, je ne pourrais pas t'aider pour le tab. (Par défaut, un tab ne change pas de control?).

Par contre ça m'interesserais de savoir comment tu as converti les données saisies en float.
0
benguigui1 Messages postés 26 Date d'inscription jeudi 28 octobre 2004 Statut Membre Dernière intervention 13 septembre 2006 6
27 sept. 2005 à 11:31
salut,
en fait c'est ce que je pensais... ms rien ne dit que je n'ai pas fait une erreur quelque part.
Par contre ce n'est pas en float ms en double que j'ai converti; voici comment j'ai fait :
j'ai recupéré le texte saisi par GetWindowText() ds une vriable char

puis ai utilisé la méthode Strtod() de <stdlib>

j'ai trouvé ça sur : http://www.cplusplus.com/ref/cstdlib/strtod.html

pour les float je ne sais pas trop ms il doit bien y avoir un equivalent ?!

j'espere avoir pu t'aider

Guill.
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
27 sept. 2005 à 11:39
Ok, bah float ou double c'est juste pour savoir si la conversion est possible.
Alors strtod() convertit bien la chaîne entière en double?

Merci pour l'info...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
benguigui1 Messages postés 26 Date d'inscription jeudi 28 octobre 2004 Statut Membre Dernière intervention 13 septembre 2006 6
27 sept. 2005 à 11:44
oui oui ça semble bien marcher
ms je n'ai pas encore testé ce qui se passe qd on saisit "hdgdgdg" au lieu dune chaine correspondant à un nb.
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
27 sept. 2005 à 19:36
Ca retourne un entier je suppose (enfin un entier dans un double).
Puisqu'une chaine n'est qu'une suite de nombres.

Ou alors ça retourne une erreur en cas d'echec.
0
benguigui1 Messages postés 26 Date d'inscription jeudi 28 octobre 2004 Statut Membre Dernière intervention 13 septembre 2006 6
28 sept. 2005 à 10:02
en fait si tu saisis 12.5jkjkjk par ex, ça convertira 12.5 en double et le 2e parametre (le pointeur) pointera sur la chaine jkjkjk. En testant s'il est null je peux tester la validité de la saisie

si tu ne saisis que des caracteres, la methode renvoie 0 (du moins d'apres ce que j'ai compris).
0