Changeset 9297 for trunk/src


Ignore:
Timestamp:
Sep 26, 2002, 6:04:35 PM (23 years ago)
Author:
sandervl
Message:

WM_ADJUSTFRAMEPOS change for preventing z-order changes of child windows

Location:
trunk/src/user32
Files:
2 edited

Legend:

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

    r9101 r9297  
    1 /* $Id: pmwindow.cpp,v 1.188 2002-08-23 15:06:00 sandervl Exp $ */
     1/* $Id: pmwindow.cpp,v 1.189 2002-09-26 16:04:34 sandervl Exp $ */
    22/*
    33 * Win32 Window Managment Code for OS/2
     
    13771377      RECTL     rect;
    13781378
    1379         dprintf(("PMFRAME:WM_WINDOWPOSCHANGED (%x) %x %x (%s) (%d,%d) (%d,%d)", mp2, win32wnd->getWindowHandle(), pswp->fl, DbgGetStringSWPFlags(pswp->fl), pswp->x, pswp->y, pswp->cx, pswp->cy));
     1379        dprintf(("PMFRAME:WM_WINDOWPOSCHANGED (%x) %x %x (%s) (%d,%d) (%d,%d) z %x", mp2, win32wnd->getWindowHandle(), pswp->fl, DbgGetStringSWPFlags(pswp->fl), pswp->x, pswp->y, pswp->cx, pswp->cy, Win32BaseWindow::GetWindowFromOS2Handle(pswp->hwndInsertBehind)));
    13801380        if(win32wnd->IsParentChanging()) {
    13811381            goto PosChangedEnd;
     
    18021802        break;
    18031803
     1804    case WM_ADJUSTFRAMEPOS:
     1805    {
     1806        PSWP pswp   = (PSWP)mp1;
     1807
     1808        dprintf(("PMFRAME:WM_ADJUSTFRAMEPOS %x %x %x (%s) (%d,%d) (%d,%d)", win32wnd->getWindowHandle(), pswp->hwnd, pswp->fl, DbgGetStringSWPFlags(pswp->fl), pswp->x, pswp->y, pswp->cx, pswp->cy));
     1809        //hack alert: the PM frame control changes the z-order of a child window
     1810        //            if it receives focus after a window has been destroyed
     1811        //            We can't let this happen as this messes up assumptions
     1812        //            elsewhere (e.g. GetNextDlgGroupItem)
     1813        //            By returning 0 here, we prevent the default frame handler
     1814        //            from messing things up. (one example is a group of radio buttons)
     1815        //NOTE: We really need to get rid of frame & client windows for each
     1816        //      win32 window
     1817        if(pswp->fl == SWP_FOCUSACTIVATE && win32wnd->isChild()) {
     1818            rc = 0;
     1819            break;
     1820        }
     1821        goto RunDefFrameWndProc;
     1822    }
     1823
    18041824#ifdef DEBUG
    1805     case WM_ADJUSTFRAMEPOS:
    1806     {
    1807         PSWP pswp   = (PSWP)mp1;
    1808 
    1809         dprintf(("PMFRAME:WM_ADJUSTFRAMEPOS %x %x %x (%s) (%d,%d) (%d,%d)", win32wnd->getWindowHandle(), pswp->hwnd, pswp->fl, DbgGetStringSWPFlags(pswp->fl), pswp->x, pswp->y, pswp->cx, pswp->cy));
    1810         goto RunDefFrameWndProc;
    1811     }
    1812 
    18131825    case WM_OWNERPOSCHANGE:
    18141826    {
  • trunk/src/user32/windlg.cpp

    r8629 r9297  
    1 /* $Id: windlg.cpp,v 1.34 2002-06-10 09:12:35 sandervl Exp $ */
     1/* $Id: windlg.cpp,v 1.35 2002-09-26 16:04:35 sandervl Exp $ */
    22/*
    33 * Win32 dialog apis for OS/2
     
    545545}
    546546//******************************************************************************
     547//Note: This implementation is correct, but it can't cope with z-order changes
     548//      of dialog controls. That's ok, since Windows can't either.
    547549//******************************************************************************
    548550HWND WIN32API GetNextDlgGroupItem( HWND hwndDlg, HWND hwndCtrl, BOOL fPrevious)
Note: See TracChangeset for help on using the changeset viewer.