[VisualC++] combo box: récupérer nouvelle ET ancienne sèlection lors d'un CBN_SELCHANGE
2 réponses
Nordnet News
Bonjour,
Pour mes études, je développe une application en C basée sur l'api win32
avec VisualC++ sans utiliser les MFC ( C++ non autorisé).
Je recherche le moyen de mémoriser les valeurs d'un combobox avant et aprés
sa modification (j'ai besoin de ces 2 valeurs pour recalculer une autre
valeur affichée ds un edit box). Je ne veux(peux) pas utiliser de variable
globale et j'aimerais ne pas passer par un edit box invisible...
Aprés de lonnnnnnnnnngue recherche, j'ai trouvé qqchose qui semblait
convenir parfaitement. Mais impossible à mettre en oeuvre, j'obtiens
toujours la nouvelle valeur.
voici l'article trouvé et la partie de code de mon programme:
//*********************initialisation de la boite de
dialogue*******************
case WM_CLOSE:
EndDialog(hDlg,NULL);
break;
case WM_COMMAND :
switch(LOWORD(wParam))
{
case IDC_OSCILLO_CH1_PROBE :
if (HIWORD (wParam) == CBN_SELCHANGE)
{
//Recuperation de la valeur de Probe avant modification ----> eh bien
malheureusement, non...retourne la valeur de la nouvelle sélection !!!
Arrrrgh!!!
GetDlgItemText(hDlg, IDC_OSCILLO_CH1_PROBE,buffer, 10); // idem avec
hCtrl=GetDlgItem(hDlg,IDC_OSCILLO_CH1_PROBE);
GetWindowText(hCtrl,buffer,10);
sscanf(buffer,"%d",&OldProbe);
//Recuperation du Probe dans le combo box aprés modification par
l'utilisateur