Ignore:
Timestamp:
Feb 9, 2001, 7:30:25 PM (25 years ago)
Author:
sandervl
Message:

WM_MINIMIZE/WS_MAXIMIZE support added to CreateWindow

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/user32/win32wbase.cpp

    r5060 r5074  
    1 /* $Id: win32wbase.cpp,v 1.232 2001-02-03 18:52:02 sandervl Exp $ */
     1/* $Id: win32wbase.cpp,v 1.233 2001-02-09 18:30:25 sandervl Exp $ */
    22/*
    33 * Win32 Window Base Class for OS/2
     
    375375        if (fCXDefault)
    376376        {
    377         fCXDefault = FALSE;
    378         cs->cx = cs->cy = 0;
     377            fCXDefault = FALSE;
     378            cs->cx = cs->cy = 0;
    379379        }
    380380    }
     
    705705                SendInternalMessageA(WM_MOVE,0,MAKELONG(rectClient.left,rectClient.top));
    706706            }
     707            if (getStyle() & (WS_MINIMIZE | WS_MAXIMIZE))
     708            {
     709                        RECT newPos;
     710                        UINT swFlag = (getStyle() & WS_MINIMIZE) ? SW_MINIMIZE : SW_MAXIMIZE;
     711                setStyle(getStyle() & ~(WS_MAXIMIZE | WS_MINIMIZE));
     712                        MinMaximize(swFlag, &newPos);
     713                swFlag = ((getStyle() & WS_CHILD) || GetActiveWindow()) ? SWP_NOACTIVATE | SWP_NOZORDER | SWP_FRAMECHANGED
     714                                                                        : SWP_NOZORDER | SWP_FRAMECHANGED;
     715                SetWindowPos(0, newPos.left, newPos.top,  newPos.right, newPos.bottom, swFlag);
     716            }
     717
    707718            if( (getStyle() & WS_CHILD) && !(getExStyle() & WS_EX_NOPARENTNOTIFY) )
    708719            {
     
    13581369        if (lParam)
    13591370        {
    1360           wndNameLength = strlen(lpsz);
    1361           windowNameA = (LPSTR)_smalloc(wndNameLength+1);
    1362           strcpy(windowNameA, lpsz);
    1363           windowNameW = (LPWSTR)_smalloc((wndNameLength+1)*sizeof(WCHAR));
    1364           lstrcpyAtoW(windowNameW, windowNameA);
     1371            wndNameLength = strlen(lpsz);
     1372            windowNameA = (LPSTR)_smalloc(wndNameLength+1);
     1373            strcpy(windowNameA, lpsz);
     1374            windowNameW = (LPWSTR)_smalloc((wndNameLength+1)*sizeof(WCHAR));
     1375            lstrcpyAtoW(windowNameW, windowNameA);
    13651376        }
    13661377        else
    13671378        {
    1368           windowNameA = NULL;
    1369           windowNameW = NULL;
    1370           wndNameLength = 0;
     1379            windowNameA = NULL;
     1380            windowNameW = NULL;
     1381            wndNameLength = 0;
    13711382        }
    13721383        dprintf(("WM_SETTEXT of %x to %s\n", Win32Hwnd, lParam));
    13731384        if ((dwStyle & WS_CAPTION) == WS_CAPTION)
    13741385        {
    1375           HandleNCPaint((HRGN)1);
    1376           if(hTaskList) {
    1377         OSLibWinChangeTaskList(hTaskList, OS2Hwnd, getWindowNameA(), (getStyle() & WS_VISIBLE) ? 1 : 0);
    1378       }
     1386            HandleNCPaint((HRGN)1);
     1387            if(hTaskList) {
     1388                OSLibWinChangeTaskList(hTaskList, OS2Hwnd, getWindowNameA(), (getStyle() & WS_VISIBLE) ? 1 : 0);
     1389            }
    13791390        }
    13801391
     
    13841395    case WM_SETREDRAW:
    13851396    {
    1386       if (wParam)
    1387       {
    1388         setStyle(getStyle() | WS_VISIBLE);
    1389         OSLibWinEnableWindowUpdate(OS2Hwnd,TRUE);
    1390       }
    1391       else
    1392       {
    1393         if (getStyle() & WS_VISIBLE)
    1394         {
    1395           setStyle(getStyle() & ~WS_VISIBLE);
    1396           OSLibWinEnableWindowUpdate(OS2Hwnd,FALSE);
    1397         }
    1398       }
    1399       return 0;
     1397        if (wParam)
     1398        {
     1399            setStyle(getStyle() | WS_VISIBLE);
     1400            OSLibWinEnableWindowUpdate(OS2Hwnd,TRUE);
     1401        }
     1402        else
     1403        {
     1404            if (getStyle() & WS_VISIBLE)
     1405            {
     1406                setStyle(getStyle() & ~WS_VISIBLE);
     1407                OSLibWinEnableWindowUpdate(OS2Hwnd,FALSE);
     1408            }
     1409        }
     1410        return 0;
    14001411    }
    14011412
     
    33163327                }
    33173328                dprintf(("WARNING: SetWindowLong%c %x %d %x returned %x INVALID index!", (fUnicode) ? 'W' : 'A', getWindowHandle(), index, value));
    3318                 SetLastError(ERROR_INVALID_INDEX);      //verified in NT4, SP6
     3329                SetLastError(ERROR_INVALID_INDEX);  //verified in NT4, SP6
    33193330                return 0;
    33203331    }
     
    33583369            break;
    33593370        }
    3360         SetLastError(ERROR_INVALID_INDEX);      //verified in NT4, SP6
     3371        SetLastError(ERROR_INVALID_INDEX);  //verified in NT4, SP6
    33613372        return 0;
    33623373    }
     
    33803391        return oldval;
    33813392    }
    3382     SetLastError(ERROR_INVALID_INDEX);  //verified in NT4, SP6
     3393    SetLastError(ERROR_INVALID_INDEX);  //verified in NT4, SP6
    33833394    return 0;
    33843395}
     
    33933404        return ((WORD *)userWindowLong)[index/2];
    33943405    }
    3395     SetLastError(ERROR_INVALID_INDEX);  //verified in NT4, SP6
     3406    SetLastError(ERROR_INVALID_INDEX);  //verified in NT4, SP6
    33963407    return 0;
    33973408}
Note: See TracChangeset for help on using the changeset viewer.