My program minimises to the SystemTray and i have created a menu that when i right click on the icon in the system tray it popsup. This works fine. Now what I want to do is when the user clicks on one of the options in the menu i want a tick to be put next to it. I have managed to do this using a normal menu on a window but no matter what I try I cannot get it working on the system tray menu. Can you spot what i am doing wrong?
First is my Menu found in Resource.rc
Now is the code im trying to get to workCode:IDR_POPUP MENU BEGIN POPUP "File" BEGIN MENUITEM "Open", ID_MENU_OPEN MENUITEM SEPARATOR MENUITEM "All Security", ID_MENU_ALL MENUITEM "Custom Security", ID_MENU_CUSTOM MENUITEM "No Security", ID_MENU_NONE MENUITEM SEPARATOR MENUITEM "Exit", ID_MENU_EXIT END END
This code compiles fine and even runs without asserting however the item ID_MENU_ALL does not get checked.Code://Get Menu associated with hwnd HMENU lMainSystemMenu = LoadMenu(hwnd, MAKEINTRESOURCE(IDR_POPUP)); // HMENU lSystemTrayPopupMenu = GetSubMenu(lMainSystemMenu, 0); commented out due to also doesnt work // check that both lMainSystemMenu and lSystemTrayPopupMenu are valid menus if(!IsMenu(lMainSystemMenu) /* || !IsMenu(lSystemTrayPopupMenu */) ASSERT(false); // Modify menu and assert if failed if(!ModifyMenu(lMainSystemMenu, ID_MENU_ALL, MF_CHECKED, ID_MENU_ALL, "All" )) ASSERT(false); DrawMenuBar(hwnd);
You can see that there is a commented out HMENU called lSystemTrayPopupMenu. When that is uncommented and ModifyMenu uses that as its first parameter everything compiled fine but still remains unchecked.
Thanks for any help, this is driving me up the wall