- Reduced tab offset constant slightly to avoid clipping the label.
- Prevent label overdraw of updown control by reducing the width of
the invalidated region.
diff --git a/dlls/comctl32/tab.c b/dlls/comctl32/tab.c
index 6d05886..9113510 100644
--- a/dlls/comctl32/tab.c
+++ b/dlls/comctl32/tab.c
@@ -79,7 +79,7 @@
/******************************************************************************
* Positioning constants
*/
-#define SELECTED_TAB_OFFSET 2
+#define SELECTED_TAB_OFFSET 1
#define HORIZONTAL_ITEM_PADDING 6
#define VERTICAL_ITEM_PADDING 3
#define ROUND_CORNER_SIZE 2
@@ -2313,7 +2313,7 @@
HWND hwnd,
TAB_INFO* infoPtr)
{
- RECT clientRect;
+ RECT clientRect, r;
DWORD lStyle = GetWindowLongA(hwnd, GWL_STYLE);
INT lastRow = infoPtr->uNumRows - 1;
@@ -2347,10 +2347,17 @@
lastRow * (infoPtr->tabHeight - 2) +
((lStyle & TCS_BUTTONS) ? lastRow * BUTTON_SPACINGY : 0) + 2;
}
-
+
+ /* Punch out the updown control */
+ if (infoPtr->needsScrolling && (clientRect.right > 0)) {
+ GetClientRect(infoPtr->hwndUpDown, &r);
+ clientRect.right = clientRect.right - (r.right - r.left);
+ }
+
TRACE("invalidate (%ld,%ld)-(%ld,%ld)\n",
clientRect.left,clientRect.top,
clientRect.right,clientRect.bottom);
+
InvalidateRect(hwnd, &clientRect, TRUE);
}