mirror of
https://github.com/reactos/reactos.git
synced 2025-08-05 17:52:56 +00:00
[RSHELL]
* 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:
parent
5e4427d973
commit
18a587e569
3 changed files with 37 additions and 1 deletions
|
@ -157,6 +157,9 @@ CMenuFocusManager::CMenuFocusManager() :
|
||||||
m_captureHwnd(0),
|
m_captureHwnd(0),
|
||||||
m_hwndUnderMouse(NULL),
|
m_hwndUnderMouse(NULL),
|
||||||
m_entryUnderMouse(NULL),
|
m_entryUnderMouse(NULL),
|
||||||
|
m_selectedMenu(NULL),
|
||||||
|
m_selectedItem(0),
|
||||||
|
m_selectedItemFlags(0),
|
||||||
m_bandCount(0)
|
m_bandCount(0)
|
||||||
{
|
{
|
||||||
m_ptPrev.x = 0;
|
m_ptPrev.x = 0;
|
||||||
|
@ -355,6 +358,35 @@ LRESULT CMenuFocusManager::MsgFilterHook(INT nCode, WPARAM wParam, LPARAM lParam
|
||||||
case WM_MOUSEMOVE:
|
case WM_MOUSEMOVE:
|
||||||
callNext = ProcessMouseMove(msg);
|
callNext = ProcessMouseMove(msg);
|
||||||
break;
|
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)
|
if (!callNext)
|
||||||
|
|
|
@ -73,6 +73,10 @@ private:
|
||||||
HWND m_hwndUnderMouse;
|
HWND m_hwndUnderMouse;
|
||||||
StackEntry * m_entryUnderMouse;
|
StackEntry * m_entryUnderMouse;
|
||||||
|
|
||||||
|
HMENU m_selectedMenu;
|
||||||
|
INT m_selectedItem;
|
||||||
|
DWORD m_selectedItemFlags;
|
||||||
|
|
||||||
// TODO: make dynamic
|
// TODO: make dynamic
|
||||||
#define MAX_RECURSE 20
|
#define MAX_RECURSE 20
|
||||||
StackEntry m_bandStack[MAX_RECURSE];
|
StackEntry m_bandStack[MAX_RECURSE];
|
||||||
|
|
|
@ -277,12 +277,12 @@ HRESULT CMenuToolbarBase::OnCustomDraw(LPNMTBCUSTOMDRAW cdraw, LRESULT * theResu
|
||||||
|
|
||||||
CMenuToolbarBase::CMenuToolbarBase(CMenuBand *menuBand, BOOL usePager) :
|
CMenuToolbarBase::CMenuToolbarBase(CMenuBand *menuBand, BOOL usePager) :
|
||||||
m_hwnd(NULL),
|
m_hwnd(NULL),
|
||||||
|
m_hwndToolbar(NULL),
|
||||||
m_useFlatMenus(FALSE),
|
m_useFlatMenus(FALSE),
|
||||||
m_SubclassOld(NULL),
|
m_SubclassOld(NULL),
|
||||||
m_disableMouseTrack(FALSE),
|
m_disableMouseTrack(FALSE),
|
||||||
m_timerEnabled(FALSE),
|
m_timerEnabled(FALSE),
|
||||||
m_menuBand(menuBand),
|
m_menuBand(menuBand),
|
||||||
m_hwndToolbar(NULL),
|
|
||||||
m_dwMenuFlags(0),
|
m_dwMenuFlags(0),
|
||||||
m_hasSizes(FALSE),
|
m_hasSizes(FALSE),
|
||||||
m_usePager(usePager),
|
m_usePager(usePager),
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue