Some programs send TCM_SETITEMSIZE message with Width set to new width and Height is set to 0. When TCM_FIXEDWIDTH flag is set these programs want to leave height unchanged. This behavior tested with win95,win98,ME,NT,win2k,XP.
This pach fixes "invisible tabs" in a TabControls with fixed width tabs.
Vitaliy Margolen
Changelog: Fix invisible tabs in TabControls with fixed tab width
Index: dlls/comctl32/tab.c =================================================================== RCS file: /home/wine/wine/dlls/comctl32/tab.c,v retrieving revision 1.74 diff -u -r1.74 tab.c --- dlls/comctl32/tab.c 8 Jan 2003 21:09:27 -0000 1.74 +++ dlls/comctl32/tab.c 2 Mar 2003 23:28:26 -0000 @@ -2538,7 +2538,10 @@ { lResult = MAKELONG(infoPtr->tabWidth, infoPtr->tabHeight); infoPtr->tabWidth = (INT)LOWORD(lParam); - infoPtr->tabHeight = (INT)HIWORD(lParam); + /* If requested Height is 0 this means that program wants to use default. */ + if ((INT)HIWORD(lParam)){ + infoPtr->tabHeight = (INT)HIWORD(lParam); + } TRACE("was h=%d,w=%d, now h=%d,w=%d\n", HIWORD(lResult), LOWORD(lResult), infoPtr->tabHeight, infoPtr->tabWidth);