static void SetAction (int action, bool enable=true) { HMENU hMenu; hMenu = CommandBar_GetMenu (hwndCB, 0); RemoveMenu (hMenu, ID_MENU_NONE, MF_BYCOMMAND); RemoveMenu (hMenu, ID_MENU_CALL, MF_BYCOMMAND); RemoveMenu (hMenu, ID_MENU_ANSWER, MF_BYCOMMAND); RemoveMenu (hMenu, ID_MENU_DISCONNECT, MF_BYCOMMAND); switch (action) { case ID_MENU_NONE: InsertMenu (hMenu, ID_EXIT, MF_BYCOMMAND, action, TEXT ("None")); SetWindowText (hwndActionButton, TEXT ("-")); break; case ID_MENU_CALL: InsertMenu (hMenu, ID_EXIT, MF_BYCOMMAND, action, TEXT ("Call")); SetWindowText (hwndActionButton, TEXT ("&Call")); break; case ID_MENU_ANSWER: InsertMenu (hMenu, ID_EXIT, MF_BYCOMMAND, action, TEXT ("Answer")); SetWindowText (hwndActionButton, TEXT ("&Answer")); break; case ID_MENU_DISCONNECT: InsertMenu (hMenu, ID_EXIT, MF_BYCOMMAND, action, TEXT ("Hangup")); SetWindowText (hwndActionButton, TEXT ("&Hangup")); break; } EnableMenuItem (hMenu, action, MF_BYCOMMAND | (enable?MF_ENABLED:MF_GRAYED)); DrawMenuBar (hMainWnd); g_current_action = action; }
bool KWindow::OnCommand( int cmd) { HMENU hmenu = GetMenu( hwnd); #if defined(UNDER_CE) if ( !hmenu && hbar ) hmenu = CommandBar_GetMenu( hbar, 0); #endif if ( hmenu ) processMenuAction( hmenu, cmd); return false; }
HMENU _get_main_menu(UINT menu_id) { HMENU hmenuMap; #if defined(WIN_CE_POCKETPC) || defined(WIN_CE_SMARTPHONE) TBBUTTONINFO tbbi; #endif #if defined(WIN_CE_POCKETPC) || defined(WIN_CE_SMARTPHONE) tbbi.cbSize = sizeof(tbbi); tbbi.dwMask = TBIF_LPARAM; SendMessage(GetNHApp()->hMenuBar, TB_GETBUTTONINFO, menu_id, (LPARAM) &tbbi); hmenuMap = (HMENU) tbbi.lParam; #else hmenuMap = CommandBar_GetMenu(GetNHApp()->hMenuBar, 0); #endif return hmenuMap; }