[API] Récupérer la valeur d'un champs EDIT ?
Salut,
Dans un 1er temps, je ne sais pas vraiment si c'est des MFC ou pas, et dans un 2eme j'ai bien lu le "Tutorial d'initiation
A la programmation avec l'API Windows" mais j'ai du mal a comprendre :s.
Je voudrai savoir comment faire pour récupérer la valeur d'un champs EDIT numérique, faire de calcule avec, puis l'affichiger dans un MessageBox()
D'après le tuto nommé ci-dessus, il faut employer la fonction GetDlgItemInt() or il me renvoie rien.
Bon je vais essayer d'exposer un peu mieux le problème:
J'aimerai réaliser une petite appli, cette appli serai une boîte de dialogue avec 2 contrôles de type "Edit", les 2 seraient numérique.
Pour l'instant, grace au tuto, j'ai réussi a créer la fenêtre, et les contrôles mais impossible de faire un calcule avec, le calcule est aussi simple que ça:
Code:
total = ((cn*f)/200);
ou cn serai le 1er contrôle "Edit" et f le 2eme... et lorsque l'on cliquerai sur calculer, le MessageBox() afficherai le résultat.. et c'est là ou j'ai du mal, je n'arrive pas a faire de calcule avec les contrôles "Edit", et impossible de l'envoyer dans le MessageBox()..
Si vous pouviez m'orienté ça serai fort simpatique ;)..
voila mon code actuelle:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
| // Procédure de gestion de la boite de dialogue
LRESULT CALLBACK MainProc(HWND Dlg,UINT message,WPARAM wParam,LPARAM lParam)
{
int Select, iLine, total, cn=0,f=0;
char *buf="";
switch(message)
{
case WM_COMMAND:
Select=LOWORD(wParam);
BOOL fError;
BOOL fRelative;
fRelative = TRUE;
switch(Select)
{
case IDOK:
//GetDlgItemText(Dlg,IDC_EDIT1,buf,2);
//GetDlgItemText(Dlg,IDC_EDIT2,buf2,2);
iLine = GetDlgItemInt(Dlg,IDC_EDIT1, &fError, fRelative);
if (iLine)
{
SetDlgItemText(Dlg,IDC_EDIT1,buf);
MessageBox(Dlg, buf, "test", MB_OK);
}
// total = ((cn*f)/200);
return TRUE;
case IDCANCEL:
EndDialog(Dlg,Select);
return TRUE;
}
default:
return FALSE;
}
} |
Merci par avance,
Cordialement.