julien_boss
Messages postés165Date d'inscriptionsamedi 4 juin 2005StatutMembreDernière intervention24 octobre 2007
-
15 mars 2006 à 16:08
julien_boss
Messages postés165Date d'inscriptionsamedi 4 juin 2005StatutMembreDernière intervention24 octobre 2007
-
15 mars 2006 à 17:13
Luu à tous
:
voilà alors je ne comprends pas bien ce qui se passe :
j'ai une boite de dialogue, 2 EDITTEXT qui se suivent dans leur création (je ne sais pas si ca peut jouer), et dans le processus de notification de la boite de dialogue, je fais :
case WM_COMMAND:
switch (LOWORD(wParam))
{
case IDCANCEL:
EndDialog(hDlg, 0);
return TRUE;
case IDC_NBENTREE:
decimal = GetDlgItemInt(hDlg, IDC_NBENTREE, &bSuccess, FALSE);
SetDlgItemText(hDlg, IDC_NBFIN, ConvertFromDec(decimal, unite));
Donc, dés l'ouverture de la boite de dialogue, ca plante. J'ai réussi à retrouver la source du pb : apparament, je ne pourrais pas garder la ligne rouge et la ligne bleue en meme temps. L'une sans l'autre, ca passe, mais pas les deux. Comment ca se fait ?
julien_boss
Messages postés165Date d'inscriptionsamedi 4 juin 2005StatutMembreDernière intervention24 octobre 2007 15 mars 2006 à 16:22
non, IDC_NBENTREE est le premier EDITTEXT, et IDC_NBFIN, le second.
En faite, je veux que aussitot que la valeur de IDC_NBENTREE change, la valeur de IDC_NBFIN change en conséquence, et vice verca. Je n'ai pas mis tout le code ici, juste ce qui butte
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 15 mars 2006 à 16:53
le squelette de la dialogProc est bon, à part les 'return TRUE', doit être 0 hors WM_INITDIALOG et qlq très rare autre cas particulier.
decimal = GetDlgItemInt(hDlg, IDC_NBENTREE, &bSuccess, FALSE);
SetDlgItemText(...) remplace provisoirement cette ligne par un MessageBox pour voir ce qui sort de ConvertFromDec.
julien_boss
Messages postés165Date d'inscriptionsamedi 4 juin 2005StatutMembreDernière intervention24 octobre 2007 15 mars 2006 à 16:58
ConvertFromDec() marche parfaitement, en faite il retourne une chaine de caractère qui est le résultat de la conversion d'un nombre décimal vers le binaire. Donc de ce coté là, ca marche.
cs_aardman
Messages postés1905Date d'inscriptionmercredi 22 janvier 2003StatutMembreDernière intervention17 septembre 20123 15 mars 2006 à 17:10
Salut,
Y'a une boucle infinie de message, car un SetDlgItemInt() sur un edit
provoquera un EN_CHANGE sur cet edit, qui appelera SetDlgItemInt() sur
l'autre edit, qui recevra a son tour le message EN_CHANGE, et ainsi de suite.