From 7507ad2ac534f26a843f12e66404d5572748fa5b Mon Sep 17 00:00:00 2001 From: =?utf8?q?Maxime=20Belleng=C3=A9?= Date: Tue, 4 May 2004 02:54:11 +0000 Subject: [PATCH] Add NM_RCLICK notification support for toolbars. --- dlls/comctl32/toolbar.c | 32 +++++++++++++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/dlls/comctl32/toolbar.c b/dlls/comctl32/toolbar.c index de4448aab0..1b145c8dae 100644 --- a/dlls/comctl32/toolbar.c +++ b/dlls/comctl32/toolbar.c @@ -52,7 +52,6 @@ * - Notifications: * - NM_CHAR * - NM_KEYDOWN - * - NM_RCLICK * - NM_RDBLCLICK * - TBN_DRAGOUT * - TBN_GETOBJECT @@ -5577,6 +5576,34 @@ TOOLBAR_LButtonUp (HWND hwnd, WPARAM wParam, LPARAM lParam) return 0; } +static LRESULT +TOOLBAR_RButtonUp( HWND hwnd, WPARAM wParam, LPARAM lParam) +{ + TOOLBAR_INFO *infoPtr = TOOLBAR_GetInfoPtr (hwnd); + + NMMOUSE nmmouse; + POINT pt; + + pt.x = LOWORD(lParam); + pt.y = HIWORD(lParam); + + nmmouse.dwHitInfo = TOOLBAR_InternalHitTest(hwnd, &pt); + + if (nmmouse.dwHitInfo < 0) { + nmmouse.dwItemSpec = -1; + } else { + nmmouse.dwItemSpec = infoPtr->buttons[nmmouse.dwHitInfo].idCommand; + nmmouse.dwItemData = infoPtr->buttons[nmmouse.dwHitInfo].dwData; + } + + ClientToScreen(hwnd, &pt); + memcpy(&nmmouse.pt, &pt, sizeof(POINT)); + + TOOLBAR_SendNotify((LPNMHDR)&nmmouse, infoPtr, NM_RCLICK); + + return 0; +} + static LRESULT TOOLBAR_CaptureChanged(HWND hwnd) { @@ -6589,6 +6616,9 @@ ToolbarWindowProc (HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) case WM_LBUTTONUP: return TOOLBAR_LButtonUp (hwnd, wParam, lParam); + case WM_RBUTTONUP: + return TOOLBAR_RButtonUp (hwnd, wParam, lParam); + case WM_MOUSEMOVE: return TOOLBAR_MouseMove (hwnd, wParam, lParam); -- 2.32.0.93.g670b81a890