Ignore:
Timestamp:
Jan 13, 2000, 2:54:55 PM (26 years ago)
Author:
sandervl
Message:

wm_activate fixes, scrollbar fix, drawframe fix

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/user32/new/pmframe.cpp

    r2425 r2426  
    1 /* $Id: pmframe.cpp,v 1.14 2000-01-12 22:07:28 cbratschi Exp $ */
     1/* $Id: pmframe.cpp,v 1.15 2000-01-13 13:54:52 sandervl Exp $ */
    22/*
    33 * Win32 Frame Managment Code for OS/2
     
    263263        if ((pswp->fl & (SWP_SIZE | SWP_MOVE | SWP_ZORDER)) == 0)
    264264        {
    265                 swpClient.hwnd = win32wnd->getOS2WindowHandle();
    266                 swpClient.hwndInsertBehind = 0;
    267                 swpClient.x  = 0;
    268                 swpClient.y  = 0;
    269                 swpClient.cx = 0;
    270                 swpClient.cy = 0;
    271                 swpClient.fl = pswp->fl & ~SWP_ZORDER;
    272                 WinSetMultWindowPos(thdb->hab, &swpClient, 1);
    273                 goto PosChangedEnd;
     265                goto RunDefFrameProc;
    274266        }
    275267
     
    284276        OSLibMapSWPtoWINDOWPOSFrame(pswp, &wp, &swpOld, hParent, hwnd);
    285277
     278        if(pswp->fl & SWP_ACTIVATE)
     279        {
     280             WinSendMsg(hwnd, WM_ACTIVATE, (MPARAM)TRUE, (MPARAM)hwnd);
     281        }
     282
    286283        if(pswp->fl & (SWP_MOVE | SWP_SIZE))
    287284        {
    288           win32wnd->setWindowRect(wp.x, wp.y, wp.x+wp.cx, wp.y+wp.cy);
    289 
    290           win32wnd->MsgFormatFrame();
     285          //Note: Also updates the new window rectangle
     286          win32wnd->MsgFormatFrame(&wp);
     287
    291288          //CB: todo: use result for WM_CALCVALIDRECTS
    292289          mapWin32ToOS2Rect(WinQueryWindow(hwnd,QW_PARENT),hwnd,win32wnd->getClientRectPtr(),(PRECTLOS2)&rect);
     
    328325            {
    329326              WinInvalidateRect(hwnd,NULL,TRUE);
    330             } else
     327            }
     328            else
    331329            {
    332330              HPS hps = WinGetPS(hwnd);
     
    362360            }
    363361          }
    364         } else
     362        }
     363        else
    365364        {
    366365          //update child positions: rectWindow is in window coordinates
     
    390389        USHORT flags = WinQueryWindowUShort(hwnd,QWS_FLAGS);
    391390
     391        dprintf(("PMFRAME: WM_ACTIVATE %x %x", hwnd, mp2));
    392392        if (win32wnd->IsWindowCreated())
    393393        {
     
    449449  SWP swpClient = {0};
    450450
    451         win32wnd->MsgFormatFrame();
     451        win32wnd->MsgFormatFrame(NULL);
    452452        //CB: todo: use result for WM_CALCVALIDRECTS
    453453        mapWin32ToOS2Rect(WinQueryWindow(win32wnd->getOS2FrameWindowHandle(),QW_PARENT),win32wnd->getOS2FrameWindowHandle(),win32wnd->getClientRectPtr(),(PRECTLOS2)&rect);
Note: See TracChangeset for help on using the changeset viewer.