Hugh McMaster : regedit: Call TrackPopupMenu() from WM_CONTEXTMENU.
Module: wine Branch: master Commit: 4dc5a764c781fa50530fcec7baf6a1e53256368c URL: http://source.winehq.org/git/wine.git/?a=commit;h=4dc5a764c781fa50530fcec7ba... Author: Hugh McMaster <hugh.mcmaster(a)outlook.com> Date: Mon Apr 17 09:15:25 2017 +0000 regedit: Call TrackPopupMenu() from WM_CONTEXTMENU. Signed-off-by: Hugh McMaster <hugh.mcmaster(a)outlook.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- 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;
participants (1)
-
Alexandre Julliard