From 33e9970b78b95cb9ccee930f48e6c3b76055bef8 Mon Sep 17 00:00:00 2001 From: Katayama Hirofumi MZ Date: Sun, 21 Jun 2026 13:05:06 +0900 Subject: [PATCH] [MSPAINT] Adjust scroll amount properly (#9181) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Scrolling the canvas with mouse wheel was a hard work, due to small scroll amount. JIRA issue: CORE-19466 - Adjust the scroll amount from 5 to 15 in CCanvasWindow::OnHVScroll. Co-authored-by: Hermès BÉLUSCA - MAÏTO Co-authored-by: Stanislav Motylkov --- base/applications/mspaint/canvas.cpp | 15 ++++++++------- base/applications/mspaint/main.cpp | 4 ++-- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/base/applications/mspaint/canvas.cpp b/base/applications/mspaint/canvas.cpp index 64535a86408..d36b16090bd 100644 --- a/base/applications/mspaint/canvas.cpp +++ b/base/applications/mspaint/canvas.cpp @@ -416,25 +416,26 @@ LRESULT CCanvasWindow::OnSize(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL& bHa VOID CCanvasWindow::OnHVScroll(WPARAM wParam, INT fnBar) { SCROLLINFO si; - si.cbSize = sizeof(SCROLLINFO); + si.cbSize = sizeof(si); si.fMask = SIF_ALL; GetScrollInfo(fnBar, &si); + switch (LOWORD(wParam)) { case SB_THUMBTRACK: case SB_THUMBPOSITION: si.nPos = (SHORT)HIWORD(wParam); break; - case SB_LINELEFT: - si.nPos -= 5; + case SB_LINELEFT: // SB_LINEUP + si.nPos -= 15; break; - case SB_LINERIGHT: - si.nPos += 5; + case SB_LINERIGHT: // SB_LINEDOWN + si.nPos += 15; break; - case SB_PAGELEFT: + case SB_PAGELEFT: // SB_PAGEUP si.nPos -= si.nPage; break; - case SB_PAGERIGHT: + case SB_PAGERIGHT: // SB_PAGEDOWN si.nPos += si.nPage; break; } diff --git a/base/applications/mspaint/main.cpp b/base/applications/mspaint/main.cpp index 63e7923ec3a..6fe488d8e24 100644 --- a/base/applications/mspaint/main.cpp +++ b/base/applications/mspaint/main.cpp @@ -507,9 +507,9 @@ LRESULT CMainWindow::OnMouseWheel(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL& for (UINT i = 0; i < nCount; ++i) { if (zDelta < 0) - ::PostMessageW(canvasWindow, WM_HSCROLL, MAKEWPARAM(SB_LINEDOWN, 0), 0); + ::PostMessageW(canvasWindow, WM_HSCROLL, MAKEWPARAM(SB_LINERIGHT, 0), 0); else if (zDelta > 0) - ::PostMessageW(canvasWindow, WM_HSCROLL, MAKEWPARAM(SB_LINEUP, 0), 0); + ::PostMessageW(canvasWindow, WM_HSCROLL, MAKEWPARAM(SB_LINELEFT, 0), 0); } } else