L'erreur de syntaxe des ressources de C
-
04-10-2019 - |
Question
J'ai une ressource:
IDC_MYMENU MENU
BEGIN
POPUP "&File"
BEGIN
MENUITEM "E&xit"
END
POPUP "&Stuff"
BEGIN
MENUITEM "&Go"
END
END
Sur la première fin, il dit qu'il ya une erreur de syntaxe, je ne comprends pas pourquoi. Quelqu'un sait? : (
La solution
Le problème est que vous n'avez pas défini l'ID de la MENUITEM. Le compilateur de ressources attend paramètre supplémentaire après la chaîne. Voir la documentation ici: http://msdn.microsoft.com/en- nous / bibliothèque / aa381025% 28VS.85% 29.aspx
Autres conseils
Vous avez besoin d'un ID associé à un élément de menu, quelque chose comme:
#include "resources.h"
#include "windows.h"
IDC_MYMENU MENU
BEGIN
POPUP "&File"
BEGIN
MENUITEM "E&xit", ID_EXIT
END
POPUP "&Stuff"
BEGIN
MENUITEM "&Go", ID_GO
END
END
où resources.h ressemblerait à quelque chose comme:
#define ID_GO 101
[À l'est, si ma mémoire est bonne, ID_EXIT sera normalement pré-définie par Windows.h, de sorte que vous n'avez pas besoin de le définir.]
L'ID est la valeur que votre programme recevra dans le message WM_COMMAND lorsque cet élément de menu est sélectionné. Les valeurs sont (presque toujours) dans un en-tête séparé pour vous d'inclure dans les deux le fichier RC et votre code pour se prémunir contre les discordances.