Problème de menu grisés

cs_camel Messages postés 77 Date d'inscription dimanche 9 juin 2002 Statut Membre Dernière intervention 18 mai 2007 - 17 mai 2004 à 19:00
frdestroyers27 Messages postés 93 Date d'inscription mardi 27 mai 2003 Statut Membre Dernière intervention 19 avril 2008 - 20 mai 2004 à 15:31
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'aider

voici les 2 fonctions que j'utilise :

void DisableAll (void)
{
EnableWindow(hAdd, FALSE);
EnableWindow(hDel, FALSE);
EnableWindow(hApply, FALSE);
EnableMenuItem(hMenu, ID_FICHIER_FERMER, MF_BYCOMMAND | MF_GRAYED);
EnableMenuItem(hMenu, ID_FICHIER_SUPPRIMER, MF_BYCOMMAND | MF_GRAYED);
EnableMenuItem(hMenu, ID_CLASSEMENT_ALPHA, MF_BYCOMMAND | MF_GRAYED);
EnableMenuItem(hMenu, ID_CLASSEMENT_AJOUT, MF_BYCOMMAND | MF_GRAYED);
}

void EnableAll (void)
{
EnableWindow(hAdd, TRUE);
EnableWindow(hDel, TRUE);
EnableWindow(hApply, TRUE);
EnableMenuItem(hMenu, ID_FICHIER_FERMER, 0);
EnableMenuItem(hMenu, ID_FICHIER_FERMER, MF_BYCOMMAND | MF_ENABLED);
EnableMenuItem(hMenu, ID_FICHIER_SUPPRIMER, MF_BYCOMMAND | MF_ENABLED);
EnableMenuItem(hMenu, ID_CLASSEMENT_ALPHA, MF_BYCOMMAND | MF_ENABLED);
EnableMenuItem(hMenu, ID_CLASSEMENT_AJOUT, MF_BYCOMMAND | MF_ENABLED);
}

2 réponses

frdestroyers27 Messages postés 93 Date d'inscription mardi 27 mai 2003 Statut Membre Dernière intervention 19 avril 2008
20 mai 2004 à 15:26
moi j'utilise une fonction qui fait les deux... je sais pas si ca peut s'appliquer a ton programme faudrait voir.
Voila:
dans cette exemple je le le fait pour certain item seulement mais tu peux facilement la modifier pour que ca le fasse pour tout!

void EnableMenu(BOOL bMenuOn)
{
if(bMenuOn==TRUE)
{
int i;
WPARAM wItem[9]={ID_PREV_MEDIA, ID_REWIND,
ID_PLAY_FILE, ID_STOP_PLAYING,
ID_PAUSE_FILE, ID_FAST_FWRD,
ID_NEXT_MEDIA, ID_MUTE,
ID_LOOPING};

if(bMenuOn==TRUE)
{
for(i=0;i<9;i++)
{ //ici pour le menu//
EnableMenuItem(GetMenu(g_hWindowHandle),(UINT)wItem[i],MF_ENABLED);
//ici le toolbar(si yen a pas tu enleve cette ligne)//
SendMessage(g_hTool,TB_ENABLEBUTTON,wItem[i],(LPARAM) MAKELONG(menuOn, 0));
}
}
if(bMenuOn==FALSE)
{
for(i=0;i<9;i++)
{//ici le menu//
EnableMenuItem(GetMenu(g_hWindowHandle),(UINT)wItem[i],MF_GRAYED);
//ici le toolbar//
SendMessage(g_hTool,TB_ENABLEBUTTON,wItem[i],(LPARAM)MAKELONG(menuOn,0));
}
}
}

les ID_???? ecrit plus haut c'est les id de ton menu...
essaie ca!

Destroyers27
0
frdestroyers27 Messages postés 93 Date d'inscription mardi 27 mai 2003 Statut Membre Dernière intervention 19 avril 2008
20 mai 2004 à 15:31
oup j'ai fait une erreur le premier if(bMenuOn==TRUE)
et { sont a enlever de la c'est une erreur!

Destroyers27
0
Rejoignez-nous