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:
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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.