Ignore:
Timestamp:
Jan 9, 2000, 6:57:50 PM (26 years ago)
Author:
sandervl
Message:

System menu commands now work

File:
1 edited

Legend:

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

    r2383 r2391  
    1 /* $Id: oslibmsgtranslate.cpp,v 1.11 2000-01-09 14:37:09 sandervl Exp $ */
     1/* $Id: oslibmsgtranslate.cpp,v 1.12 2000-01-09 17:57:47 sandervl Exp $ */
    22/*
    33 * Window message translation functions for OS/2
     
    396396      ULONG win32sc;
    397397
     398
    398399        if(SHORT2FROMMP(os2Msg->mp2) == TRUE) {//syscommand caused by mouse action
    399             POINTL pointl;
    400             WinQueryPointerPos(HWND_DESKTOP, &pointl);
    401             x = pointl.x;
    402             y = mapScreenY(y);
    403         }
    404         switch(SHORT1FROMMP(os2Msg->mp1)) {
    405         case SC_MOVE:
    406             win32sc = SC_MOVE_W;
    407             break;
    408         case SC_CLOSE:
    409             win32sc = SC_CLOSE_W;
    410             break;
    411         case SC_MAXIMIZE:
    412             win32sc = SC_MAXIMIZE_W;
    413             break;
    414         case SC_MINIMIZE:
    415             win32sc = SC_MINIMIZE_W;
    416             break;
    417         case SC_NEXTFRAME:
    418         case SC_NEXTWINDOW:
    419             win32sc = SC_NEXTWINDOW_W;
    420             break;
    421         case SC_RESTORE:
    422             win32sc = SC_RESTORE_W;
    423             break;
    424         case SC_TASKMANAGER:
    425             win32sc = SC_TASKLIST_W;
    426             break;
    427         default:
    428             goto dummymessage;
    429         }
    430         winMsg->message    = WINWM_SYSCOMMAND;
    431         winMsg->wParam = (WPARAM)win32sc;
    432         winMsg->lParam = MAKELONG((USHORT)x, (USHORT)y);
     400            x = winMsg->pt.x;
     401            y = winMsg->pt.y;
     402        }
     403        //When fOS2Look == 0, we display our own system menu (so no translation required)
     404        if(fOS2Look) {
     405            switch(SHORT1FROMMP(os2Msg->mp1)) {
     406            case SC_MOVE:
     407                win32sc = SC_MOVE_W;
     408                break;
     409            case SC_CLOSE:
     410                win32sc = SC_CLOSE_W;
     411                break;
     412            case SC_MAXIMIZE:
     413                win32sc = SC_MAXIMIZE_W;
     414                break;
     415            case SC_MINIMIZE:
     416                win32sc = SC_MINIMIZE_W;
     417                break;
     418            case SC_NEXTFRAME:
     419            case SC_NEXTWINDOW:
     420                win32sc = SC_NEXTWINDOW_W;
     421                break;
     422            case SC_RESTORE:
     423                win32sc = SC_RESTORE_W;
     424                break;
     425            case SC_TASKMANAGER:
     426                win32sc = SC_TASKLIST_W;
     427                break;
     428            default:
     429                goto dummymessage;
     430            }
     431        }
     432        else    win32sc = (ULONG)os2Msg->mp1;
     433
     434        winMsg->message = WINWM_SYSCOMMAND;
     435        winMsg->wParam  = (WPARAM)win32sc;
     436        winMsg->lParam  = MAKELONG((USHORT)x, (USHORT)y);
    433437        break;
    434438    }
Note: See TracChangeset for help on using the changeset viewer.