[PATCH 2/4] regedit: Call TrackPopupMenu() from WM_CONTEXTMENU

Hugh McMaster hugh.mcmaster at outlook.com
Mon Apr 17 04:15:25 CDT 2017


Signed-off-by: Hugh McMaster <hugh.mcmaster at outlook.com>
---
 programs/regedit/childwnd.c | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)

diff --git a/programs/regedit/childwnd.c b/programs/regedit/childwnd.c
index 2211d68..4d184c3 100644
--- a/programs/regedit/childwnd.c
+++ b/programs/regedit/childwnd.c
@@ -292,6 +292,9 @@ static void set_last_key(HWND hwndTV)
     }
 }
 
+#define GET_X_LPARAM(lp) ((int)(short)LOWORD(lp))
+#define GET_Y_LPARAM(lp) ((int)(short)HIWORD(lp))
+
 /*******************************************************************************
  *
  *  FUNCTION: ChildWndProc(HWND, unsigned, WORD, LONG)
@@ -368,6 +371,12 @@ LRESULT CALLBACK ChildWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lPa
             draw_splitbar(hWnd, last_split);
         break;
 
+    case WM_CONTEXTMENU: {
+        int x = GET_X_LPARAM(lParam);
+        int y = GET_Y_LPARAM(lParam);
+        TrackPopupMenu(GetSubMenu(hPopupMenus, PM_NEW), TPM_RIGHTBUTTON, x, y, 0, hFrameWnd, NULL);
+    }
+
     case WM_KEYDOWN:
         if (wParam == VK_ESCAPE)
             if (GetCapture() == hWnd) {
@@ -419,13 +428,6 @@ LRESULT CALLBACK ChildWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lPa
 	    case NM_SETFOCUS:
 		g_pChildWnd->nFocusPanel = 0;
 		break;
-            case NM_RCLICK: {
-		POINT pt;
-                GetCursorPos(&pt);
-		TrackPopupMenu(GetSubMenu(hPopupMenus, PM_NEW),
-			       TPM_RIGHTBUTTON, pt.x, pt.y, 0, hFrameWnd, NULL);
-		break;
-            }
             case TVN_BEGINLABELEDITW: {
                 HKEY hRootKey;
                 LPWSTR path;
-- 
2.7.4




More information about the wine-patches mailing list