* Fix keyboard navigation and hottracking behaviour. One glitch remains where quickly moving the mouse to a parent's toolbar item, and returning to the submenu before it closes, won't restore the parent's hot item to the one with the submenu.

svn path=/branches/shell-experiments/; revision=62509
This commit is contained in:
David Quintana 2014-03-15 21:38:15 +00:00
parent 492eebcc0e
commit bacc079c22
7 changed files with 240 additions and 25 deletions

View file

@ -43,6 +43,9 @@ private:
HWND m_currentFocus;
HHOOK m_hHook;
DWORD m_threadId;
BOOL m_mouseTrackDisabled;
WPARAM m_lastMoveFlags;
LPARAM m_lastMovePos;
// TODO: make dynamic
#define MAX_RECURSE 20
@ -64,10 +67,14 @@ public:
BEGIN_COM_MAP(CMenuFocusManager)
END_COM_MAP()
private:
LRESULT GetMsgHook(INT nCode, WPARAM wParam, LPARAM lParam);
HRESULT PlaceHooks(HWND window);
HRESULT RemoveHooks(HWND window);
HRESULT UpdateFocus(CMenuBand * newBand);
HRESULT ActivationChange(HWND newHwnd);
void DisableMouseTrack(HWND enableTo, BOOL disableThis);
HRESULT IsTrackedWindow(HWND hWnd);
public:
HRESULT PushMenu(CMenuBand * mb);