[PATCH] comctl32/trackbar: Scale thumb size with resolution.

Nikolay Sivov nsivov at codeweavers.com
Mon Jul 16 18:09:56 CDT 2018


Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
---
 dlls/comctl32/trackbar.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/dlls/comctl32/trackbar.c b/dlls/comctl32/trackbar.c
index d774823d60..e717528fd4 100644
--- a/dlls/comctl32/trackbar.c
+++ b/dlls/comctl32/trackbar.c
@@ -1474,6 +1474,7 @@ TRACKBAR_InitializeThumb (TRACKBAR_INFO *infoPtr)
 {
     RECT rect;
     int clientWidth, clientMetric;
+    HDC hdc;
 
     /* initial thumb length */
     clientMetric = (infoPtr->dwStyle & TBS_ENABLESELRANGE) ? 23 : 21;
@@ -1488,6 +1489,10 @@ TRACKBAR_InitializeThumb (TRACKBAR_INFO *infoPtr)
     else
         infoPtr->uThumbLen = clientWidth > 9 ? clientWidth - 6 : 4;
 
+    hdc = GetDC(infoPtr->hwndSelf);
+    infoPtr->uThumbLen = MulDiv(infoPtr->uThumbLen, GetDeviceCaps(hdc, LOGPIXELSX), 96);
+    ReleaseDC(infoPtr->hwndSelf, hdc);
+
     TRACKBAR_CalcChannel (infoPtr);
     TRACKBAR_UpdateThumb (infoPtr);
     infoPtr->flags &= ~TB_SELECTIONCHANGED;
-- 
2.18.0




More information about the wine-devel mailing list