begin process at 2010 03 10 09:29:43
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Windows

 > 

GUI

 > 

Probleme avec les checks des menu.


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Probleme avec les checks des menu.

jeudi 25 juin 2009 à 18:13:11 | Probleme avec les checks des menu.

SergentP

Salut,
J'ai un item dans un menu qui est CHECKED d'origine, ensuite j'ai le code suivant :

-----
        case ID_B_AFFICHER_SOCK:
            GetMenuItemInfo( hMenu, ID_B_AFFICHER_SOCK, 0, &MenuInfo );
            switch ( MenuInfo.fState )
            {
            case MF_CHECKED:
                CheckMenuItem( hMenu, ID_B_AFFICHER_SOCK, MF_UNCHECKED );
                ShowWindow( NBSock, SW_HIDE );
                break;

            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 .

vendredi 26 juin 2009 à 06:26:36 | Re : Probleme avec les checks des menu.

aardman

Membre Club
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) { ... }

vendredi 26 juin 2009 à 08:39:43 | Re : Probleme avec les checks des menu.

SergentP

J'ai fait comme tu dit (j'avais déjà essayé) : le menu se décoche mais ne se coche plus :

---
        case ID_B_AFFICHER_SOCK:
            GetMenuItemInfo( hMenu, ID_B_AFFICHER_SOCK, 0, &MenuInfo );
            if( MenuInfo.fState = MF_CHECKED )
            {
                CheckMenuItem( hMenu, ID_B_AFFICHER_SOCK, MF_UNCHECKED );
                ShowWindow( NBSock, SW_HIDE );
            }
            if( MenuInfo.fState = MF_UNCHECKED )
            {
                CheckMenuItem( hMenu, ID_B_AFFICHER_SOCK, MF_CHECKED );
                ShowWindow( NBSock, SW_SHOW );
            }
            break;
---

C'est bisare.
vendredi 26 juin 2009 à 09:06:58 | Re : Probleme avec les checks des menu.

aardman

Membre Club
c'est pas du tout ce que j'ai dis :)
vendredi 26 juin 2009 à 09:45:56 | Re : Probleme avec les checks des menu.

SergentP

?
Je dois paraitre lourd mais les valeurs sont testés séparément, tu veux parlé de l'opérateur & ? Si c'est ça, ça ne marche pas non plus :/
samedi 27 juin 2009 à 09:29:13 | Re : Probleme avec les checks des menu.

aardman

Membre Club
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() ?
mardi 30 juin 2009 à 19:05:49 | Re : Probleme avec les checks des menu.

SergentP

---------
MENUITEMINFO MenuInfo;

GetMenuItemInfo( hMenu, ID_B_AFFICHER_SOCK, 0, &MenuInfo );

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.
mercredi 1 juillet 2009 à 01:57:16 | Re : Probleme avec les checks des menu.

aardman

Membre Club
Salut,
il faut initialiser certains membres de la structure avant d'appeler GetMenuItemInfo.
et tu as toujours pas corrigé le =.


Cette discussion est classée dans : afficher, id, sock, checked, mf


Répondre à ce message

Sujets en rapport avec ce message

Problème de menu grisés [ par camel ] mon problème est simple : je grise un menu, mais ensuite j'arrive pas le dégriser ;( je sais pas comment faire. merci de m'aidervoici les 2 fonctions Hook clic droit sur la titlebar [ par reptils ] Salut a tous,J'ai un p'ti probleme avec le programme que j'essaies de faire. Je voudrais faire un virtual desktop, et pour cela j'aimerais que lorsque listbox afficher détails fichiers d'un repertoire [ par bougnat83 ] bonjourVisual C++ 6.0, MFCj'arrive à afficher dans une listbox la liste des fichiers contenu dans un repertoire donné avec :::SendMessage(hListBox, LB listcontrol : afficher liste fichiers d'un repertoire avec détails [ par bougnat83 ] Bonjour.Visual C++ 6.0, MFC.J'ai créé une mfc listcontrol. Je souhaiterais y afficher les fichiers d'un repertoire spécifique dans une colonne et dans creer une fenetre c: pour afficher l'arborescence de mon PC [ par blinix123 ] Yop!Bon je sais le titre n'est pas très explicite mais je ne savais comment mettre en titre ce que je vaix expliquer  :-°  (du moins tenter d'explique poublem descripteur socket [ par stillfelil ] Bonjour je vien de creer un programme Serveur mais voila j'ai un probleme avec le descripteur SOCKET du client retourné par acceptca me donne toujour Gif et Cximage [ par websinh ] Bonjour à tous,J'ai consulté de nombreux forums, mais je n'ai pas pu trouver mon bonheure.J'utilise la bibliothèque CXImage pour pouvoir afficher un G Multi-Lights OpenGL [ par manolobis ] Bonjour,J'ai un problèmes de lumières sous OpenGL:J'ai créé une structure de 8 lumières dans mon application mais seule la 1ère lumière éclaire la scè Gif et Cximage [ par websinh ] Bonjour à tous,J'ai consulté de nombreux forums, mais je n'ai pas pu trouver mon bonheure.J'utilise la bibliothèque CXImage pour pouvoir afficher un G C/C++ [ par Ziman ] Bonjour,je vais poser une question qi va vous sembler bizarre mais je me pose cette question. J'apprend en ce moment l'API WIN32 en C et bientot, je v


Nos sponsors


Appels d'offres

Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,718 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales