Hugh McMaster : regedit: Select the targeted treeview item on right mouse click.

Alexandre Julliard julliard at winehq.org
Thu Jul 20 12:11:29 CDT 2017


Module: wine
Branch: stable
Commit: 95f2e76bd4bc3bf875ca87414f26d07561efef01
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=95f2e76bd4bc3bf875ca87414f26d07561efef01

Author: Hugh McMaster <hugh.mcmaster at outlook.com>
Date:   Mon Apr 17 09:15:36 2017 +0000

regedit: Select the targeted treeview item on right mouse click.

Signed-off-by: Hugh McMaster <hugh.mcmaster at outlook.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
(cherry picked from commit ab0d0c6ee4325670f66a68af4f06fbd9acbb6151)
Signed-off-by: Michael Stefaniuc <mstefani at winehq.org>

---

 programs/regedit/childwnd.c | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/programs/regedit/childwnd.c b/programs/regedit/childwnd.c
index 74e30f8..b24e358 100644
--- a/programs/regedit/childwnd.c
+++ b/programs/regedit/childwnd.c
@@ -363,9 +363,14 @@ LRESULT CALLBACK ChildWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lPa
         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);
+        POINT pt = {GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam)};
+        TVHITTESTINFO ht;
+        ht.pt = pt;
+        ScreenToClient(g_pChildWnd->hTreeWnd, &ht.pt);
+        if (SendMessageW(g_pChildWnd->hTreeWnd, TVM_HITTEST, 0, (LPARAM)&ht))
+            SendMessageW(g_pChildWnd->hTreeWnd, TVM_SELECTITEM, TVGN_CARET, (LPARAM)ht.hItem);
+        TrackPopupMenu(GetSubMenu(hPopupMenus, PM_NEW), TPM_RIGHTBUTTON,
+                       pt.x, pt.y, 0, hFrameWnd, NULL);
     }
 
     case WM_KEYDOWN:




More information about the wine-cvs mailing list