In my project I (did) have two .rc files. When I compile and run the menu doesn't show up and my about dialog won't work.
If I have one .rc file with both the menu and dialog code it works perfectly. This was not a problem with Dev-C++ (I had two .rc files) but maybe this is a problem with the resource compiler.
Here is what didn't work.
menu.rc
#include <windows.h>
#include "main.h"
IDM_MENU MENU
{
POPUP "&File"
{
MENUITEM "&New\tCtrl+N", IDM_FILE_NEW
MENUITEM "&Open\tCtrl+O", IDM_FILE_OPEN
MENUITEM "&Save\tCtrl+S", IDM_FILE_SAVE
MENUITEM "&Save as...", IDM_FILE_SAVEAS
MENUITEM SEPARATOR
MENUITEM "&Page Setup...", IDM_FILE_PAGESETUP
MENUITEM "&Print\tCtrl+P", IDM_FILE_PRINT
MENUITEM SEPARATOR
MENUITEM "&Exit\tAlt+F4", IDM_FILE_EXIT
}
POPUP "&Edit"
{
MENUITEM "&Undo\tCtrl+Z", IDM_EDIT_UNDO
MENUITEM SEPARATOR
MENUITEM "&Cut\tCtrl+X", IDM_EDIT_CUT
MENUITEM "&Copy\tCtrl+C", IDM_EDIT_COPY
MENUITEM "&Paste\tCtrl+V", IDM_EDIT_PASTE
MENUITEM "&Delete\tDel", IDM_EDIT_DELETE
MENUITEM SEPARATOR
MENUITEM "&Select all\tCtrl+A", IDM_EDIT_SELECTALL
}
POPUP "&Search"
{
MENUITEM "&Find\tCtrl+F", IDM_SEARCH_FIND
MENUITEM "&Find next\tF3", IDM_SEARCH_FINDNEXT
MENUITEM "&Find previous\tShift+F3", IDM_SEARCH_FINDPREVIOUS
MENUITEM SEPARATOR
MENUITEM "&Replace\tCtrl+R", IDM_SEARCH_REPLACE
}
POPUP "F&ormat"
{
MENUITEM "&Word Wrap", IDM_FORMAT_WORDWRAP
MENUITEM "&Font...", IDM_FORMAT_FONT
}
POPUP "&Help"
{
MENUITEM "&Contents\tF1", IDM_HELP_CONTENTS
MENUITEM "&Search", IDM_HELP_SEARCH
MENUITEM "&Using help", IDM_HELP_HELP
MENUITEM SEPARATOR
MENUITEM "&About...", IDM_HELP_ABOUT
}
}
dialog.rc
#include <windows.h>
#include "main.h"
#ifndef IDC_STATIC
#define IDC_STATIC -1
#endif
IDD_ABOUT DIALOG 0, 0, 239, 66
STYLE WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Text Editor 0.1.1.1"
FONT 8, "MS Sans Serif"
{
DEFPUSHBUTTON "&OK", IDOK, 174, 18, 50, 14
PUSHBUTTON "&Cancel", IDCANCEL, 174, 35, 50, 14
GROUPBOX "About this program...", IDC_STATIC, 7, 7, 225, 52
CTEXT "This is a simple text editor written in C++.\r\n"
"The GUI was created with the Win32 API.",
IDC_STATIC, 16, 18, 144, 33
}
Here is the code I used that worked.
resources.rc
#include <windows.h>
#include "main.h"
#ifndef IDC_STATIC
#define IDC_STATIC -1
#endif
IDM_MENU MENU
{
POPUP "&File"
{
MENUITEM "&New\tCtrl+N", IDM_FILE_NEW
MENUITEM "&Open\tCtrl+O", IDM_FILE_OPEN
MENUITEM "&Save\tCtrl+S", IDM_FILE_SAVE
MENUITEM "&Save as...", IDM_FILE_SAVEAS
MENUITEM SEPARATOR
MENUITEM "&Page Setup...", IDM_FILE_PAGESETUP
MENUITEM "&Print\tCtrl+P", IDM_FILE_PRINT
MENUITEM SEPARATOR
MENUITEM "&Exit\tAlt+F4", IDM_FILE_EXIT
}
POPUP "&Edit"
{
MENUITEM "&Undo\tCtrl+Z", IDM_EDIT_UNDO
MENUITEM SEPARATOR
MENUITEM "&Cut\tCtrl+X", IDM_EDIT_CUT
MENUITEM "&Copy\tCtrl+C", IDM_EDIT_COPY
MENUITEM "&Paste\tCtrl+V", IDM_EDIT_PASTE
MENUITEM "&Delete\tDel", IDM_EDIT_DELETE
MENUITEM SEPARATOR
MENUITEM "&Select all\tCtrl+A", IDM_EDIT_SELECTALL
}
POPUP "&Search"
{
MENUITEM "&Find\tCtrl+F", IDM_SEARCH_FIND
MENUITEM "&Find next\tF3", IDM_SEARCH_FINDNEXT
MENUITEM "&Find previous\tShift+F3", IDM_SEARCH_FINDPREVIOUS
MENUITEM SEPARATOR
MENUITEM "&Replace\tCtrl+R", IDM_SEARCH_REPLACE
}
POPUP "F&ormat"
{
MENUITEM "&Word Wrap", IDM_FORMAT_WORDWRAP
MENUITEM "&Font...", IDM_FORMAT_FONT
}
POPUP "&Help"
{
MENUITEM "&Contents\tF1", IDM_HELP_CONTENTS
MENUITEM "&Search", IDM_HELP_SEARCH
MENUITEM "&Using help", IDM_HELP_HELP
MENUITEM SEPARATOR
MENUITEM "&About...", IDM_HELP_ABOUT
}
}
IDD_ABOUT DIALOG 0, 0, 239, 66
STYLE WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Text Editor 0.1.1.1"
FONT 8, "MS Sans Serif"
{
DEFPUSHBUTTON "&OK", IDOK, 174, 18, 50, 14
PUSHBUTTON "&Cancel", IDCANCEL, 174, 35, 50, 14
GROUPBOX "About this program...", IDC_STATIC, 7, 7, 225, 52
CTEXT "This is a simple text editor written in C++.\r\n"
"The GUI was created with the Win32 API.",
IDC_STATIC, 16, 18, 144, 33
}