problem z menu

0

Witam mam problem z wyswietleniem menu, przerobilem specjalnie dwa kursy zeby sie tego nauczyc,
ale ciagle mi nic nie wychodzi oto kod zrodlowy:

#include <windows.h>

//deklaracja zapowiadająca
LRESULT CALLBACK NaszaProcedura (HWND hwnd, UINT message, WPARAM wpar, LPARAM lpar);

int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpsCmdLine, int nMode)
{
//HWND hOknoText;
HWND hOkno;
MSG message;
WNDCLASS okno;

//HMENU hMenu = LoadMenu(hInstance, MAKEINTRESOURCE(200));

okno.hInstance = hInstance;
okno.lpszClassName = "klasa główna";
okno.lpfnWndProc = NaszaProcedura; //tutaj pojawia się nowość!!
okno.lpszMenuName = NULL;
okno.style = CS_DBLCLKS;;
okno.hIcon = LoadIcon (NULL, IDI_WINLOGO);
okno.hCursor = LoadCursor (NULL, IDC_ARROW);
okno.hbrBackground = (HBRUSH) GetStockObject (WHITE_BRUSH);
okno.cbClsExtra = 0;
okno.cbWndExtra = 0;

//HMENU hMenu = LoadMenu(hOkno, MAKEINTRESOURCE(200));

/*MENUITEMINFO mii;
ZeroMemory(&mii, sizeof(mii));
mii.cbSize = sizeof(mii);
mii.fMask = MIIM_ID | MIIM_TYPE;
mii.fType = MFT_STRING;
mii.wID = 110;
mii.dwTypeData = "Reset";

*/

//HMENU hMenu = LoadMenu(hInstance, MAKEINTRESOURCE(200));

if(!RegisterClass (&okno)) return 0;

HMENU hMenu = LoadMenu(hInstance, MAKEINTRESOURCE(200));

hOkno = CreateWindow ("klasa główna", "łokno :p",
WS_OVERLAPPEDWINDOW, 400,400,500,500,
NULL, hMenu, hInstance, NULL);

/*InsertMenuItem(hMenu, 106, FALSE, &mii);*/ 

ShowWindow (hOkno, SW_SHOW);

while (GetMessage (&message, NULL, 0, 0))
{
TranslateMessage (&message);
DispatchMessage (&message);
}
return 0;
}
//oto nasza procedura obsługi okna
LRESULT CALLBACK NaszaProcedura (HWND hwnd, UINT message, WPARAM wpar, LPARAM lpar)
{

    return DefWindowProc (hwnd, message, wpar, lpar);

}
a to plik zasoby.rc:
200 MENU
{
 POPUP "&Plik"
 {
  MENUITEM "&Nowy", 100
  MENUITEM "&Otwórz", 101
  MENUITEM "&Zapisz", 102
  MENUITEM SEPARATOR
  POPUP "&Importuj"
  {
   MENUITEM "&Tekst", 103
   POPUP "O&braz"
   {
    MENUITEM "Bit&mapa", 104
    MENUITEM "&JPEG", 105
   }
  }
  MENUITEM SEPARATOR
  MENUITEM "&Koniec", 106
 }
 MENUITEM "&Edycja", 108
}

czy ktos moze mi powiedziec co tutaj jest zle?
z gory dzieki

0

Nie potrzeba ci żadnego LoadMenu. Wystarczy

okno.lpszMenuName =  MAKEINTRESOURCE(200);

A jeśli już chcesz z hMenu to masz do tego parę funkji, np GetMenu, SetMenu, poczytaj MSDN.

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0