* Prevent the focused window from receiving keyboard events while a shell menu is open.
CORE-7586
svn path=/branches/shell-experiments/; revision=62935
switch (changeType)
{
+ case MPOS_EXECUTE:
+ m_hotBar->ExecuteItem(m_hotItem);
+ break;
+
case MPOS_SELECTLEFT:
if (m_parentBand && m_parentBand->_IsPopup()==S_FALSE)
return m_parentBand->_MenuItemHotTrack(VK_LEFT);
case VK_RMENU:
m_current->mb->_MenuItemHotTrack(MPOS_FULLCANCEL);
break;
+ case VK_RETURN:
+ m_current->mb->_MenuItemHotTrack(MPOS_EXECUTE);
+ break;
case VK_LEFT:
m_current->mb->_MenuItemHotTrack(VK_LEFT);
break;
m_current->mb->_MenuItemHotTrack(VK_DOWN);
break;
}
+ msg->message = WM_NULL;
+ msg->lParam = 0;
+ msg->wParam = 0;
}
break;
}
*theResult = 0;
+ INT iItem = (INT)wParam;
+
+ return ExecuteItem(iItem);
+}
+
+HRESULT CMenuToolbarBase::ExecuteItem(INT iItem)
+{
m_menuBand->_KillPopupTimers();
- if (PopupItem(wParam) == S_OK)
+ if (PopupItem(iItem) == S_OK)
{
TRACE("PopupItem returned S_OK\n");
return S_FALSE;
if (FAILED_UNEXPECTEDLY(hr))
return hr;
- INT iItem = wParam;
INT index;
DWORD_PTR data;
HRESULT KeyboardItemChange(DWORD changeType);
+ HRESULT ExecuteItem(INT iItem);
+
HRESULT IsTrackedItem(INT index);
HRESULT ChangeTrackedItem(INT index, BOOL wasTracking, BOOL mouse);