* Fix gcc build.
* Wip beginning of horizontal menubar keyboard navigation. Not working yet. ;P
CORE-7586

svn path=/branches/shell-experiments/; revision=62755
This commit is contained in:
David Quintana 2014-04-15 22:30:37 +00:00
parent 5e4427d973
commit 18a587e569
3 changed files with 37 additions and 1 deletions

View file

@ -157,6 +157,9 @@ CMenuFocusManager::CMenuFocusManager() :
m_captureHwnd(0),
m_hwndUnderMouse(NULL),
m_entryUnderMouse(NULL),
m_selectedMenu(NULL),
m_selectedItem(0),
m_selectedItemFlags(0),
m_bandCount(0)
{
m_ptPrev.x = 0;
@ -355,6 +358,35 @@ LRESULT CMenuFocusManager::MsgFilterHook(INT nCode, WPARAM wParam, LPARAM lParam
case WM_MOUSEMOVE:
callNext = ProcessMouseMove(msg);
break;
case WM_INITMENUPOPUP:
DbgPrint("WM_INITMENUPOPUP %p %p\n", wParam, lParam);
m_selectedMenu = reinterpret_cast<HMENU>(lParam);
m_selectedItem = -1;
m_selectedItemFlags = 0;
break;
case WM_MENUSELECT:
DbgPrint("WM_MENUSELECT %p %p\n", wParam, lParam);
m_selectedMenu = reinterpret_cast<HMENU>(lParam);
m_selectedItem = LOWORD(wParam);
m_selectedItemFlags = HIWORD(wParam);
break;
case WM_KEYDOWN:
switch (msg->wParam)
{
case VK_LEFT:
if (m_current->hmenu == m_selectedMenu)
{
m_parent->mb->_MenuItemHotTrack(VK_LEFT);
}
break;
case VK_RIGHT:
if (!(m_selectedItemFlags & MF_POPUP))
{
m_parent->mb->_MenuItemHotTrack(VK_RIGHT);
}
break;
}
break;
}
if (!callNext)