Detlef Riekenberg : regedit: Enable WM_RBUTTONDOWN to set the splitbar.

Alexandre Julliard julliard at wine.codeweavers.com
Mon Feb 19 07:02:22 CST 2007


Module: wine
Branch: master
Commit: 10d825aaa3d1fcb4ec596a194200a3b913390055
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=10d825aaa3d1fcb4ec596a194200a3b913390055

Author: Detlef Riekenberg <wine.dev at web.de>
Date:   Sun Feb 18 17:14:39 2007 +0100

regedit: Enable WM_RBUTTONDOWN to set the splitbar.

---

 programs/regedit/childwnd.c |   34 +++++++++++++++++++++++-----------
 1 files changed, 23 insertions(+), 11 deletions(-)

diff --git a/programs/regedit/childwnd.c b/programs/regedit/childwnd.c
index 6a56e82..659bc73 100644
--- a/programs/regedit/childwnd.c
+++ b/programs/regedit/childwnd.c
@@ -30,8 +30,9 @@
 #include "wine/unicode.h"
                                                                                                                              
 WINE_DEFAULT_DEBUG_CHANNEL(regedit);
-                                                                                                                             
+
 ChildWnd* g_pChildWnd;
+static int last_split;
 
 /*******************************************************************************
  * Local module support methods
@@ -162,6 +163,24 @@ static void OnTreeSelectionChanged(HWND hwndTV, HWND hwndLV, HTREEITEM hItem, BO
 }
 
 /*******************************************************************************
+ * finish_splitbar [internal]
+ *
+ * make the splitbar invisible and resize the windows
+ * (helper for ChildWndProc)
+ */
+static void finish_splitbar(HWND hWnd, int x)
+{
+    RECT rt;
+
+    draw_splitbar(hWnd, last_split);
+    last_split = -1;
+    GetClientRect(hWnd, &rt);
+    g_pChildWnd->nSplitPos = x;
+    ResizeWnd(rt.right, rt.bottom);
+    ReleaseCapture();
+}
+
+/*******************************************************************************
  *
  *  FUNCTION: _CmdWndProc(HWND, unsigned, WORD, LONG)
  *
@@ -203,8 +222,6 @@ static BOOL _CmdWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
  */
 LRESULT CALLBACK ChildWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
 {
-    static int last_split;
-
     switch (message) {
     case WM_CREATE:
         g_pChildWnd = HeapAlloc(GetProcessHeap(), 0, sizeof(ChildWnd));
@@ -253,16 +270,11 @@ LRESULT CALLBACK ChildWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lPa
             break;
         }
 
+    /* WM_RBUTTONDOWN sets the splitbar the same way as WM_LBUTTONUP */
     case WM_LBUTTONUP:
+    case WM_RBUTTONDOWN:
         if (GetCapture() == hWnd) {
-            RECT rt;
-            int x = LOWORD(lParam);
-            draw_splitbar(hWnd, last_split);
-            last_split = -1;
-            GetClientRect(hWnd, &rt);
-            g_pChildWnd->nSplitPos = x;
-            ResizeWnd(rt.right, rt.bottom);
-            ReleaseCapture();
+            finish_splitbar(hWnd, LOWORD(lParam));
         }
         break;
 




More information about the wine-cvs mailing list