Haeckchen in Menu einfuegen
-
hallo,
wie kann ich vor einen menupunkt ein haeckchen hinzufuegen?
danke
gruesse
-
CheckMenuItem ...wenne das meinst

MfG CodeFinder
-
das geht bei mir irgendwie ned... also das menu habe ich in rsrc.rc definiert, und zwar so:
MYMENU MENU BEGIN POPUP "File" BEGIN MENUITEM "New", IDM_NEW MENUITEM "Open", IDM_OPEN MENUITEM "Save", IDM_SAVE MENUITEM "Save as...", IDM_SAVEAS MENUITEM "Close File", IDM_CLOSEFILE MENUITEM SEPARATOR MENUITEM "Exit", IDM_EXIT END POPUP "Format" BEGIN MENUITEM "Font", IDM_FONT [b]MENUITEM "Margin", IDM_MARGIN[/b] END POPUP "Help" BEGIN MENUITEM "About", IDM_ABOUT END ENDso, dann in der WndProc funktion bei WM_CREATE:
HMENU hMenu = LoadMenu( g_hInst, "MYMENU" );und schliesslich bei WM_COMMAND:
switch( LOWORD(wParam) ) { case IDM_MARGIN: CheckMenuItem( hMenu, 7, MF_BYPOSITION | MF_CHECKED ); return 0; }aber das haeckchen geht einfach ned her... ist der code falsch?
danke
-
CheckMenuItem(GetMenu(hwnd),IDM_MARGIN,MF_CHECKED);
-
Hi,
DZ schrieb:
HMENU hMenu = LoadMenu( g_hInst, "MYMENU" );LOL, du musst hMenu als static deklarieren...sonst ist der bei WM_COMMAND ungültig...

Hmm also wenn das n SystemMenü ist solltest du lieber GetMenu() verwenden...
und falls es immer noch nicht funzt: Hast du mal hMenu überpüft (zur Not auch mit GetLastError())?
-
pla schrieb:
CheckMenuItem(GetMenu(hwnd),IDM_MARGIN,MF_CHECKED);
Nope, wenn dann so:
CheckMenuItem(GetMenu(hwnd), IDM_MARGIN, MF_BYCOMMAND | MF_CHECKED);