begin process at 2012 05 30 04:32:42
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

Supprimer / rendre invisible un élément d'un menu


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

Supprimer / rendre invisible un élément d'un menu

vendredi 3 janvier 2003 à 10:09:25 | Supprimer / rendre invisible un élément d'un menu

vow

Bonjour,

J'ai créé un menu PRSARCH avec 6 items dont les IDs sont : IDM_A, IDM_B, IDM_C, IDM_D, IDM_E, IDM_F.
Selon les cas dans mon code, j'aimerais supprimer deux d'entre eux : IDM_C et IDM_E par exemple.
Comment faire pour supprimer ces entrées (ou les rendre invisible) en passant par l'ID, et non par la "position" (int) de celles-ci :
RemoveMenu (GetSubMenu(hWndMenu, iMenu), 3, MF_BYPOSITION);
RemoveMenu (GetSubMenu(hWndMenu, iMenu), 5, MF_BYPOSITION);

Merci d'avance.
@++

~~~~ Vow ~~~~
vendredi 3 janvier 2003 à 10:14:15 | Re : Supprimer / rendre invisible un élément d'un menu

vow

Au fait, je travaille sur Visual C++ 6.

~~~~ Vow ~~~~


-------------------------------
Réponse au message :
-------------------------------

> Bonjour,
>
> J'ai créé un menu PRSARCH avec 6 items dont les IDs sont : IDM_A, IDM_B, IDM_C, IDM_D, IDM_E, IDM_F.
> Selon les cas dans mon code, j'aimerais supprimer deux d'entre eux : IDM_C et IDM_E par exemple.
> Comment faire pour supprimer ces entrées (ou les rendre invisible) en passant par l'ID, et non par la "position" (int) de celles-ci :
> RemoveMenu (GetSubMenu(hWndMenu, iMenu), 3, MF_BYPOSITION);
> RemoveMenu (GetSubMenu(hWndMenu, iMenu), 5, MF_BYPOSITION);
>
> Merci d'avance.
> @++
>
> ~~~~ Vow ~~~~
vendredi 3 janvier 2003 à 12:31:05 | Re : Supprimer / rendre invisible un élément d'un menu

vieuxLion


Alors la , dites moi si je me trompe mais
ceci me semble INSOLUBLE

autant il est possible grâce à la fonction GetDlgItem de récupérer le contrôle enfant d'une boite de dialogue par son ID
autant il n'est pas possible de faire de même pour un item de menu.
La raison est que plusieurs objets peuvent être chargés sur le même identifiant (menu déroulant, menu popup, item de toolbar)

la discussion est ouverte !



-------------------------------
Réponse au message :
-------------------------------

> Au fait, je travaille sur Visual C++ 6.
>
> ~~~~ Vow ~~~~
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > Bonjour,
> >
> > J'ai créé un menu PRSARCH avec 6 items dont les IDs sont : IDM_A, IDM_B, IDM_C, IDM_D, IDM_E, IDM_F.
> > Selon les cas dans mon code, j'aimerais supprimer deux d'entre eux : IDM_C et IDM_E par exemple.
> > Comment faire pour supprimer ces entrées (ou les rendre invisible) en passant par l'ID, et non par la "position" (int) de celles-ci :
> > RemoveMenu (GetSubMenu(hWndMenu, iMenu), 3, MF_BYPOSITION);
> > RemoveMenu (GetSubMenu(hWndMenu, iMenu), 5, MF_BYPOSITION);
> >
> > Merci d'avance.
> > @++
> >
> > ~~~~ Vow ~~~~
>
vendredi 3 janvier 2003 à 13:15:57 | Re : Supprimer / rendre invisible un élément d'un menu

vow

J'ai trouvé la solution :
RemoveMenu (GetSubMenu(hWndMenu, iMenu), IDM_C, MF_BYCOMMAND);
RemoveMenu (GetSubMenu(hWndMenu, iMenu), IDM_E, MF_BYCOMMAND);
En fait, je pensais que les IDs étaient des chaines de caractères (je ne sais pourquoi), mais il s'agit de nombres entiers en fait.
Merci quand même.
@++

~~~~ Vow ~~~~


-------------------------------
Réponse au message :
-------------------------------

>
> Alors la , dites moi si je me trompe mais
> ceci me semble INSOLUBLE
>
> autant il est possible grâce à la fonction GetDlgItem de récupérer le contrôle enfant d'une boite de dialogue par son ID
> autant il n'est pas possible de faire de même pour un item de menu.
> La raison est que plusieurs objets peuvent être chargés sur le même identifiant (menu déroulant, menu popup, item de toolbar)
>
> la discussion est ouverte !
>
vendredi 3 janvier 2003 à 15:45:52 | Re : Supprimer / rendre invisible un élément d'un menu

vieuxLion

tu as raison,
bien qu'il n'y ait pas de fonction globale au niveau de la fenêtre, lorsque le menu est connu, l'item peut être identifié
cela donne donc , en s'adressant à la fenêtre porteuse du menu (la CMainFrame par défaut) :
CMenu* p = GetMenu();
p->RemoveMenu(ID_MONMENU, MF_BYCOMMAND );

et ça marche...
cool


-------------------------------
Réponse au message :
-------------------------------

> J'ai trouvé la solution :
> RemoveMenu (GetSubMenu(hWndMenu, iMenu), IDM_C, MF_BYCOMMAND);
> RemoveMenu (GetSubMenu(hWndMenu, iMenu), IDM_E, MF_BYCOMMAND);
> En fait, je pensais que les IDs étaient des chaines de caractères (je ne sais pourquoi), mais il s'agit de nombres entiers en fait.
> Merci quand même.
> @++
>
> ~~~~ Vow ~~~~
>
>


Cette discussion est classée dans : menu, supprimer, rendre, invisible, idm


Répondre à ce message

Sujets en rapport avec ce message

Pb Menu !!! [ par yoyo269 ] Salut,je voulais savoir comment on utilisait les accelerators pour créer des raccourcis claviers (genre Ctrl+Q), sous Dev-C++ 4.9.9.0.J'arrive bien à Rendre invisible une combobox [ par bougste ] Je pense que tout est dit dans le titre..je cherche à rendre invisible une combobox..Si qlq'1 pouvait m'aider ce serait sympa... comment supprimer curseur ds un menu deroulant? [ par Topper ] tout est ds la question rendre invisible une image ????? [ par MadNomad53 ] Quelqu'un sait comment je peut rendre une image invisible (avec MFC) MFC mettre un controle invisible [ par Cameleon69 ] J'ai un controle ComboBox, que je veux rendre invisible, je sais le rendre inactif mais invisible ???Merci de votre aide. Rendre une controle invisible [ par fredsor ] Salut a tous, pour du win32 en CPetite question rapide : Peut on rendre un controle invisible? exemple je créé mes editbox avec l'attribut WS_VISIBLE. rendre un exe invisible [ par julien20vt ] Voila, j'ai un programme programmé avec visual C++ utilisant les MFC, et il n'a aucun interface graphique, je voudrais qu'il soit invisible, donc que comment rendre la barre d'outil invisible [ par imanewin32 ] slt dans une application MFC j'ai besoin de rendre la barre d'outil invisible lors du lancement de l'application que doit je faire Rendre invisible un onglet d'un tab control [ par cyko ] Bonjour, Je suis en train de develloper une application en Visual C++ . Dans un de mes formulaires, j'ai un tab control avec cinq onglets.Jusque la pa Fond invisible [ par victorcoasne ] Comment rendre le fond d'un statique invisible ?Vous voulez des RPG gratuits allez sur http://jeux.jscv.com !!!Le créateur du site htt


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
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 : 10,452 sec (3)

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