diff --git a/dll/win32/comctl32/edit.c b/dll/win32/comctl32/edit.c index 991041a4ea0..a6bf2c1b082 100644 --- a/dll/win32/comctl32/edit.c +++ b/dll/win32/comctl32/edit.c @@ -5142,7 +5142,20 @@ static LRESULT CALLBACK EDIT_WindowProc(HWND hwnd, UINT msg, WPARAM wParam, LPAR break; case WM_VSCROLL: +#ifdef __REACTOS__ + { + SCROLLINFO si; + + ZeroMemory(&si, sizeof(si)); + si.cbSize = sizeof(si); + si.fMask = SIF_TRACKPOS; + if (!GetScrollInfo(hwnd, SB_VERT, &si)) + return 1; + result = EDIT_WM_VScroll(es, LOWORD(wParam), si.nTrackPos); + } +#else result = EDIT_WM_VScroll(es, LOWORD(wParam), (short)HIWORD(wParam)); +#endif break; case WM_MOUSEWHEEL: diff --git a/win32ss/user/user32/controls/edit.c b/win32ss/user/user32/controls/edit.c index a69ed718f42..e0c049c01ca 100644 --- a/win32ss/user/user32/controls/edit.c +++ b/win32ss/user/user32/controls/edit.c @@ -5350,7 +5350,20 @@ LRESULT WINAPI EditWndProc_common( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lP break; case WM_VSCROLL: +#ifdef __REACTOS__ + { + SCROLLINFO si; + + ZeroMemory(&si, sizeof(si)); + si.cbSize = sizeof(si); + si.fMask = SIF_TRACKPOS; + if (!GetScrollInfo(hwnd, SB_VERT, &si)) + return 1; + result = EDIT_WM_VScroll(es, LOWORD(wParam), si.nTrackPos); + } +#else result = EDIT_WM_VScroll(es, LOWORD(wParam), (short)HIWORD(wParam)); +#endif break; case WM_MOUSEWHEEL: