Voici le code, ça va être plus simple :
dans fenetre.cpp :
#include <windows.h>
#include "ressource.h"
HINSTANCE hInst;
BOOL CALLBACK DialogProc(HWND hDlg, UINT message, WPARAM wParam,LPARAM lParam)
{
switch (message)
{
case WM_INITDIALOG:
{
HMENU hMenu = LoadMenu( hInst, MAKEINTRESOURCE(IDM_MENU));
SetMenu(hDlg, hMenu);
return 1;
}
case WM_COMMAND:// Action sur l'un des controles
{
break;
}
case WM_CLOSE:
{
EndDialog(hDlg,0);
return 1;
}
default:
break;
}
return 0;
}
int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow)
{
hInst = hInstance;
LPDLGTEMPLATE lpdt = ( LPDLGTEMPLATE) GlobalAlloc(GPTR, 512);
if (!lpdt) return 1;
lpdt->style = DS_CENTER | WS_POPUP | WS_SYSMENU | DS_MODALFRAME | WS_CAPTION | WS_MINIMIZEBOX;
lpdt->x = lpdt->y = 0; lpdt->cx = 313; lpdt->cy = 180;
DialogBoxIndirect(hInstance,lpdt,NULL,(DLGPROC)DialogProc);
GlobalFree((HGLOBAL)lpdt);
return 0;
}
dans ressource.h :
#define CM_FILE_SAVEAS 100
#define CM_FILE_EXIT 101
#define CM_FILE_OPEN 102
#define CM_ABOUT 103
#define IDM_MENU 200 //j'étais obligé de le définir car une erreur apparaissait sinon
dans rsrc.rc :
500 ICON MOVEABLE PURE LOADONCALL DISCARDABLE "C:/Dev-C++/Icon/MAINICON.ICO"
#include "ressource.h"
IDM_MENU MENU
{
POPUP "&File"
{
MENUITEM "&Open...", CM_FILE_OPEN
MENUITEM "Save &As...", CM_FILE_SAVEAS
MENUITEM SEPARATOR
MENUITEM "E&xit", CM_FILE_EXIT
}
POPUP "&Help"
{
MENUITEM "&About", CM_ABOUT
}
}
Voila ! Peut être qu'il y a une erreur où un oubli ???
@++