SergentP
Messages postés20Date d'inscriptionjeudi 21 février 2008StatutMembreDernière intervention25 juillet 2010
-
25 juin 2009 à 18:13
cs_aardman
Messages postés1905Date d'inscriptionmercredi 22 janvier 2003StatutMembreDernière intervention17 septembre 2012
-
1 juil. 2009 à 01:57
Salut,
J'ai un item dans un menu qui est CHECKED d'origine, ensuite j'ai le code suivant :
case MF_UNCHECKED:
CheckMenuItem( hMenu, ID_B_AFFICHER_SOCK, MF_CHECKED );
ShowWindow( NBSock, SW_SHOW );
break;
}
break;
-----
Or, quand je clique sur cet item il reste en position CHECKED, je ne comprend pas pourquoi.
Merci d'avance .
cs_aardman
Messages postés1905Date d'inscriptionmercredi 22 janvier 2003StatutMembreDernière intervention17 septembre 20123 26 juin 2009 à 06:26
Salut,
tu ne peux pas faire de switch sur fState car ce membre peut contenir plusieurs valeurs a la fois (chaque valeur représente un bit précis de la variable). il faut donc tester séparement les valeurs qui t'interessent:
if(MenuInfo.fState & MFS_CHECKED) { ... }
else if(MenuInfo.fState & MFS_UNCHECKED) { ... }
cs_aardman
Messages postés1905Date d'inscriptionmercredi 22 janvier 2003StatutMembreDernière intervention17 septembre 20123 27 juin 2009 à 09:29
Salut,
je parlais effectivement du &, si ça ne fonctionne toujours pas, peut-etre que tu n'as pas correctement initialisé la structure MenuInfo avant d'appeler GetMenuItemInfo() ?
if ( MenuInfo.fState = MFS_CHECKED )
...
---------
Rien de plus sur la structure. Le plus bizarre dans tout ça c'est que j'utilise cette structure plus haut dans mon code(différemment) et ça marche.