C++ Resource Problems?

_whelp

New Member
Reaction score
54
I tried to compile a .cpp file, but there were errors in the resource file.

What is wrong with it?

Code:
#include "resource.h"

IDR_MAINMENU MENU {
    POPUP "&File" {
        MENUITEM "E&xit", ID_FILE_EXIT
    }
}

The errors were:

error: expected unqualified-id before numeric constant
error: expected `,' or `;' before numeric constant
[Those are only in line 3...]
 
Reaction score
341
JASS:
#include "resource.h"

IDR_MAINMENU MENU {
    POPUP "&File" {
        MENUITEM "E&xit", ID_FILE_EXIT;
    }
}


?
 
Reaction score
341
I assumed you did, because the error said you were missing a ; before the constant.

ID_FILE_EXIT looks like a constant to me.
 

Samael88

Evil always finds a way
Reaction score
181
It is a constant. The error is stating that it want the semicolon before the constant:p

Code:
#include "resource.h"

IDR_MAINMENU MENU {
    POPUP "&File" {
        MENUITEM "E&xit"; ID_FILE_EXIT
    }
}
I am not sure if this is meant to be like that at all:eek:

All I can find when googling it is this:
Code:
IDR_MYMENU MENU
BEGIN
     POPUP "&File"
     BEGIN
          MENUITEM "E&xit", ID_FILE_EXIT
     END

And that is part of a header file.
Are you sure that it is supposed to be done that way?
 

_whelp

New Member
Reaction score
54
The way you found in google doesn't work in my compiler, so I use {}...

Even with the ; there, it doesn't work.
 

_whelp

New Member
Reaction score
54
I was actually using that tutorial while making it, but it still doesn't work even if the code is like almost exactly the same...
 

Samael88

Evil always finds a way
Reaction score
181
What compiler are you using?
Do you understand the consept of header files?
 

Samael88

Evil always finds a way
Reaction score
181
The tutorial says windows:) It is windows.h they are using dude;)

Code:
case WM_CREATE:
    {
        HMENU hMenu, hSubMenu;
        HICON hIcon, hIconSm;

        hMenu = CreateMenu();

        hSubMenu = CreatePopupMenu();
        AppendMenu(hSubMenu, MF_STRING, ID_FILE_EXIT, "E&xit");
        AppendMenu(hMenu, MF_STRING | MF_POPUP, (UINT)hSubMenu, "&File");

        hSubMenu = CreatePopupMenu();
        AppendMenu(hSubMenu, MF_STRING, ID_STUFF_GO, "&Go");
        AppendMenu(hMenu, MF_STRING | MF_POPUP, (UINT)hSubMenu, "&Stuff");

        SetMenu(hwnd, hMenu);


        hIcon = LoadImage(NULL, "menu_two.ico", IMAGE_ICON, 32, 32, LR_LOADFROMFILE);
        if(hIcon)
            SendMessage(hwnd, WM_SETICON, ICON_BIG, (LPARAM)hIcon);
        else
            MessageBox(hwnd, "Could not load large icon!", "Error", MB_OK | MB_ICONERROR);

        hIconSm = LoadImage(NULL, "menu_two.ico", IMAGE_ICON, 16, 16, LR_LOADFROMFILE);
        if(hIconSm)
            SendMessage(hwnd, WM_SETICON, ICON_SMALL, (LPARAM)hIconSm);
        else
            MessageBox(hwnd, "Could not load small icon!", "Error", MB_OK | MB_ICONERROR);
    }
    break;

This is the code you want to use:)

Code:
#include "resource.h"

IDR_MYMENU MENU
BEGIN
    POPUP "&File"
    BEGIN
        MENUITEM "E&xit", ID_FILE_EXIT
    END

    POPUP "&Stuff"
    BEGIN
        MENUITEM "&Go", ID_STUFF_GO
        MENUITEM "G&o somewhere else", 0, GRAYED
    END
END

IDI_MYICON ICON "menu_one.ico"

This is what goes into a file called ".rc", I am not familiar with that particular file type, I think it is a configuration file of some sort tho.
It is supposed to be included into the project:
"You will want to add the .rc file to your project or makefile depending on what tools you are using. "'

Edit: The problem with that tutorial is that it does not have the whole code:( It is much easier when you can download and take a look at everything yourself.
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Members online

      No members online now.

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top