C++ : API win

benguigui1 Messages postés 26 Date d'inscription   Statut Membre Dernière intervention   -  
benguigui1 Messages postés 26 Date d'inscription   Statut Membre Dernière intervention   -
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   Statut Membre Dernière intervention   6
 
bon pour le 2) c'est réglé ...
0
kilian Messages postés 8732 Date d'inscription   Statut Modérateur Dernière intervention   1 526
 
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   Statut Membre Dernière intervention   6
 
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 8732 Date d'inscription   Statut Modérateur Dernière intervention   1 526
 
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   Statut Membre Dernière intervention   6
 
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 8732 Date d'inscription   Statut Modérateur Dernière intervention   1 526
 
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   Statut Membre Dernière intervention   6
 
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