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