Various cosmetic tab fixes

Mike Hearn mike at theoretic.com
Sat Mar 8 18:59:43 CST 2003


Various visual fixes for the tab control.

ChangeLog:

- Reduced tab offset constant slightly to avoid clipping the label
- Prevent label overdraw of updown control by reducing the width of the
invalidated region.

Oh, btw my licensing "stance" is LGPL only, unless you ask me directly.
... and that ends tonights hacking session

thanks -mike
-------------- next part --------------
Index: dlls/comctl32/tab.c
===================================================================
RCS file: /home/wine/wine/dlls/comctl32/tab.c,v
retrieving revision 1.75
diff -u -r1.75 tab.c
--- dlls/comctl32/tab.c	4 Mar 2003 04:34:03 -0000	1.75
+++ dlls/comctl32/tab.c	9 Mar 2003 00:56:20 -0000
@@ -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);
 }


More information about the wine-patches mailing list