void MenuView::DoMouseFrame() { static DWORD rbutton_latch = 0; action = 0; if (Mouse::RButton()) { MouseController* mouse_con = MouseController::GetInstance(); if (!right_down && (!mouse_con || !mouse_con->Active())) { rbutton_latch = Game::RealTime(); right_down = true; show_menu = false; } } else { if (right_down && (Game::RealTime() - rbutton_latch < 250)) { right_start.x = Mouse::X() - offset.x; right_start.y = Mouse::Y() - offset.y; show_menu = true; Button::PlaySound(Button::SND_MENU_OPEN); } right_down = false; } MouseController* mouse_con = MouseController::GetInstance(); if (!mouse_con || !mouse_con->Active()) { if (Mouse::LButton()) { if (!mouse_down) shift_down = Keyboard::KeyDown(VK_SHIFT); mouse_down = true; } else if (mouse_down) { int mouse_x = Mouse::X() - offset.x; int mouse_y = Mouse::Y() - offset.y; int keep_menu = false; if (show_menu) { keep_menu = ProcessMenuItem(); Mouse::Show(true); } mouse_down = false; if (!keep_menu) { ClearMenuSelection(menu); show_menu = false; } } } }
/// <summary> /// Handler function for menu commands /// </summary> /// <param name="wParam">Command parameter</param> void KinectWindow::OnCommand(WPARAM wParam) { WORD id = LOWORD(wParam); // Get menu item ID WORD param = HIWORD(wParam); // Get command parameter bool itemChecked = false; // Update memu item status if (ProcessMenuItem(id, itemChecked)) { // Process menu item command m_pSettings->ProcessMenuCommand(id, param, itemChecked); } }