Problème avec une barre de menu [C++/MFC] - C++ - Programmation
Marsh Posté le 19-08-2002 à 11:16:45
La fonction EnableMenuItem() me retourne 0 ce qui signifie qu'elle a bien réussi à s'effectuer. Je viens aussi d'essayer d'appeler
Code :
|
juste aprés, pas mieux.
Marsh Posté le 19-08-2002 à 11:21:25
Visual C++, c pas un langage, le langage, c'est C++
Visual C++, c'est l'IDE. Rien à voir.
ensuite, lis mieux la doc, nottament :
These values can be combined by using the bitwise OR operator. |
d'où à la place de ce que t'as mis:
Code :
|
Qui devrait vachemebt mieux marcher !
Marsh Posté le 19-08-2002 à 11:22:45
ha non, dsl, ça changera rien normalement : "MF_BYCOMMAND" est celui par défaut.
Je vois pas trop alors.
Marsh Posté le 19-08-2002 à 11:24:16
zeux a écrit a écrit : La fonction EnableMenuItem() me retourne 0 ce qui signifie qu'elle a bien réussi à s'effectuer. Je viens aussi d'essayer d'appeler
juste aprés, pas mieux. |
0, t'as regardé ds la doc ce que ça veut dire ?
ça correspond à la valeur de quoi ? MF_DISABLED, MF_ENABLED, ou MF_GRAYED ?
Marsh Posté le 19-08-2002 à 11:25:43
El_Gringo a écrit a écrit : Visual C++, c pas un langage, le langage, c'est C++ Visual C++, c'est l'IDE. Rien à voir. ensuite, lis mieux la doc, nottament :
|
Je vois pas où j'ai écris que VISUAL C++ était un langage mais enfin bon si tu dis que je l'ai marqué quelque part .
Relis mon post j'ai déjà essayé MF_BYCOMMAND.
Marsh Posté le 19-08-2002 à 11:26:22
El_Gringo a écrit a écrit : 0, t'as regardé ds la doc ce que ça veut dire ? ça correspond à la valeur de quoi ? MF_DISABLED, MF_ENABLED, ou MF_GRAYED ? |
Ca correspond à MF_ENABLED ce qui est logique d'ailleurs.
Marsh Posté le 19-08-2002 à 11:28:04
El_Gringo a écrit a écrit : ensuite, lis mieux la doc, nottament :
Qui devrait vachemebt mieux marcher ! |
J'ai lu la doc et relu avant de poster je suis pas complétement idiot.
Marsh Posté le 19-08-2002 à 11:31:39
zeux a écrit a écrit : Je vois pas où j'ai écris que VISUAL C++ était un langage mais enfin bon si tu dis que je l'ai marqué quelque part . |
Le titre de ton topic [Visual C++] l'induit...
Marsh Posté le 19-08-2002 à 11:32:20
El_Gringo a écrit a écrit : Le titre de ton topic [Visual C++] l'induit... |
Non absolument pas, ça induit que ca a un rapport avec les MFC. Tu sais ce que c'est les MFC ?
Marsh Posté le 19-08-2002 à 11:33:11
zeux a écrit a écrit : Relis mon post j'ai déjà essayé MF_BYCOMMAND. |
J'trouve plus clair de spécifier ds tous les cas si tu est en MF_BYCOMMAND ou en MF_BYOPSITION.
T'as déja essayé d'ailleurs par position !?
Marsh Posté le 19-08-2002 à 11:35:11
zeux a écrit a écrit : Non absolument pas, ça induit que ca a un rapport avec les MFC. Tu sais ce que c'est les MFC ? |
Tu peux utiliser Visual C++ et te passer totalement des MFC. Heureusement d'ailleurs.
Mets plutot [C++/MFC] alors...
Et reste Zen surtout...
Marsh Posté le 19-08-2002 à 11:37:49
El_Gringo a écrit a écrit : J'trouve plus clair de spécifier ds tous les cas si tu est en MF_BYCOMMAND ou en MF_BYOPSITION. T'as déja essayé d'ailleurs par position !? |
Oui déjà essayé marche pas de toutes façons pas intéressant dans mon cas je veux pas être obligé de gérer les positions des menus parce qu'aprés je serais obligé de me retaper tous les index dés que je rajouterai un menu -> pas intérressant dans ce cas là.
En revanche tout de suite aprés ma modif avec enablemenuitem je retrouve bien MF_GRAYED quand j'interroge l'état du menu avec getmenustate.
Marsh Posté le 19-08-2002 à 11:38:46
El_Gringo a écrit a écrit : Tu peux utiliser Visual C++ et te passer totalement des MFC. Heureusement d'ailleurs. Mets plutot [C++/MFC] alors... Et reste Zen surtout... |
Sorry mais je me suis senti agressé sur ton premier message, 12 ans que je fais de la prog je connais la diff entre C++ et un IDE merci.
Je change le titre du topic.
Marsh Posté le 19-08-2002 à 11:39:56
zeux a écrit a écrit : Oui déjà essayé marche pas de toutes façons pas intéressant dans mon cas je veux pas être obligé de gérer les positions des menus parce qu'aprés je serais obligé de me retaper tous les index dés que je rajouterai un menu -> pas intérressant dans ce cas là. En revanche tout de suite aprés ma modif avec enablemenuitem je retrouve bien MF_GRAYED quand j'interroge l'état du menu avec getmenustate. |
Ouais, ms pas pour conserver cette façon de faire. Moi qd g un pb sur une fonction, j'essaye toujours de l'utiliser de toutes la manières possibles, même les + tordues desfois. ça me permet souvent d'identifier le pb.
Marsh Posté le 19-08-2002 à 11:40:28
Bon ben va falloir que je pioche l'info ailleurs on dirait
Sérieux personne n'a eu ce problème déjà ?
Marsh Posté le 19-08-2002 à 11:41:02
El_Gringo a écrit a écrit : Ouais, ms pas pour conserver cette façon de faire. Moi qd g un pb sur une fonction, j'essaye toujours de l'utiliser de toutes la manières possibles, même les + tordues desfois. ça me permet souvent d'identifier le pb. |
Oui moi aussi c pour ça que je le répète j'ai déjà essayé avec MF_BYPOSITION.
Marsh Posté le 19-08-2002 à 11:41:42
zeux a écrit a écrit : Sorry mais je me suis senti agressé sur ton premier message, 12 ans que je fais de la prog je connais la diff entre C++ et un IDE merci. Je change le titre du topic. |
12 ans de prog !? Mais justement, tu deviens peut être un peu gâteux, non !?
(j'vais me prendre des baffes moi !:D)
Marsh Posté le 19-08-2002 à 11:42:51
El_Gringo a écrit a écrit : 12 ans de prog !? Mais justement, tu deviens peut être un peu gâteux, non !? (j'vais me prendre des baffes moi !:D) |
Probablement j'ai commencé à 11 ans (en fait mon premier prog à 7 ans mais c'était tellement simple que je compte pas ce que j'ai fait en BASIC de 7 à 11 ans).
Marsh Posté le 19-08-2002 à 11:44:39
Et t'as essayé de mettre MF_DISABLED à la place de MF_GRAYED ?
Marsh Posté le 19-08-2002 à 11:47:49
El_Gringo a écrit a écrit : Et t'as essayé de mettre MF_DISABLED à la place de MF_GRAYED ? |
Oui ça donne rien.
Marsh Posté le 19-08-2002 à 11:51:31
zeux a écrit a écrit : Oui ça donne rien. |
Alors, si t SUR que ID_TRANSFERT_LANCER est bien l'ID de l'item que tu veux griser (j'imagine que tu l'as déja vérifié une 15aine de fois, j'connais ça !), j'ai plus d'idée.
Tout ce que je peux te dire, c que j'utilise cette fonction de cette manière, et ça se passe très bien !
Bonne chance...
Marsh Posté le 19-08-2002 à 11:55:42
El_Gringo a écrit a écrit : Alors, si t SUR que ID_TRANSFERT_LANCER est bien l'ID de l'item que tu veux griser (j'imagine que tu l'as déja vérifié une 15aine de fois, j'connais ça !), j'ai plus d'idée. Tout ce que je peux te dire, c que j'utilise cette fonction de cette manière, et ça se passe très bien ! Bonne chance... |
C'est bien le bon ID ça c clair d'ailleurs sinon la fonction me retournerait -1 et ca marcherait pas position.
C bizarre je trouve aussi
Marsh Posté le 19-08-2002 à 11:59:16
Ha, essaye qd même d'appliquer un UpdateWindow à ton CWnd qui contient le menu, après avoir essayé de griser.
Marsh Posté le 19-08-2002 à 12:19:51
El_Gringo a écrit a écrit : Ha, essaye qd même d'appliquer un UpdateWindow à ton CWnd qui contient le menu, après avoir essayé de griser. |
Marche po.
Marsh Posté le 19-08-2002 à 12:45:29
ReplyMarsh Posté le 19-08-2002 à 13:19:43
tu utilises quoi? VC6 ou VC7?
Marsh Posté le 20-08-2002 à 11:49:50
try58 a écrit a écrit : tu utilises quoi? VC6 ou VC7? |
6
Marsh Posté le 20-08-2002 à 12:13:25
Je suppose que tu as cree ton menu a partir de l'editeur de ressource. Donc regarde au niveau des options qui sont cochees pour ton menu, peut etre que c'est ca qui fait merder.
Marsh Posté le 20-08-2002 à 15:22:04
try58 a écrit a écrit : Je suppose que tu as cree ton menu a partir de l'editeur de ressource. Donc regarde au niveau des options qui sont cochees pour ton menu, peut etre que c'est ca qui fait merder. |
Oui je l'ai créé à partir de l'éditeur de ressources et non j'ai déjà vérifié moult fois ça vient pas de là.
Merci kd même
Marsh Posté le 19-08-2002 à 11:14:38
J'ai un problème dans une application MFC lors de la mise à jour d'un menu :
c'est une application en SDI et voici la fonction MAJMenu() que j'appelle dés que je veux mettre à jour ma barre de menu (pour griser certaines parties, etc) :
J'ai vérifié avec le débugger, on passe bien au bon endroit mais le menu refuse de se griser ???
J'ai essayé en combinant le flag avec MF_BYCOMMAND et ça marche pas mieux. En revanche je peux changer le libellé du menu sinon (commande ModifyMenu()) mais impossible de le griser même avec cette fonction.
Une idée ?
Message édité par Zeux le 19-08-2002 à 11:39:07