Ignore:
Timestamp:
Oct 29, 1999, 1:51:05 AM (26 years ago)
Author:
sandervl
Message:

Focus + dialog fixes

File:
1 edited

Legend:

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

    r1499 r1507  
    1 /* $Id: win32wbase.cpp,v 1.65 1999-10-28 19:09:17 sandervl Exp $ */
     1/* $Id: win32wbase.cpp,v 1.66 1999-10-28 23:51:05 sandervl Exp $ */
    22/*
    33 * Win32 Window Base Class for OS/2
     
    10391039 ULONG win32msg;
    10401040 ULONG win32ncmsg;
     1041 BOOL  fClick = FALSE;
    10411042
    10421043    dprintf(("MsgButton to (%d,%d)", ncx, ncy));
     
    10451046                win32msg = WM_LBUTTONDOWN;
    10461047                win32ncmsg = WM_NCLBUTTONDOWN;
     1048                fClick = TRUE;
    10471049                break;
    10481050        case BUTTON_LEFTUP:
     
    10681070                win32msg = WM_RBUTTONDOWN;
    10691071                win32ncmsg = WM_NCRBUTTONDOWN;
     1072                fClick = TRUE;
    10701073                break;
    10711074        case BUTTON_RIGHTDBLCLICK:
     
    10871090                win32msg = WM_MBUTTONDOWN;
    10881091                win32ncmsg = WM_NCMBUTTONDOWN;
     1092                fClick = TRUE;
    10891093                break;
    10901094        case BUTTON_MIDDLEDBLCLICK:
     
    11021106                dprintf(("Win32BaseWindow::Button: invalid msg!!!!"));
    11031107                return 1;
     1108    }
     1109
     1110    if(fClick) {
     1111        /* Activate the window if needed */
     1112        HWND hwndTop = (getTopParent()) ? getTopParent()->getWindowHandle() : 0;
     1113
     1114        if (getWindowHandle() != GetActiveWindow())
     1115        {
     1116                LONG ret = SendMessageA(WM_MOUSEACTIVATE, hwndTop,
     1117                                        MAKELONG( HTCLIENT, win32msg ) );
     1118
     1119#if 0
     1120                if ((ret == MA_ACTIVATEANDEAT) || (ret == MA_NOACTIVATEANDEAT))
     1121                         eatMsg = TRUE;
     1122#endif
     1123                if(((ret == MA_ACTIVATE) || (ret == MA_ACTIVATEANDEAT))
     1124                   && hwndTop != GetForegroundWindow() )
     1125                {
     1126                      SetActiveWindow();
     1127                }
     1128        }
    11041129    }
    11051130
Note: See TracChangeset for help on using the changeset viewer.