- Timestamp:
- Jan 9, 2000, 6:57:50 PM (26 years ago)
- Location:
- trunk/src/user32
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/user32/oslibmenu.cpp
r2378 r2391 1 /* $Id: oslibmenu.cpp,v 1. 7 2000-01-08 16:53:38sandervl Exp $ */1 /* $Id: oslibmenu.cpp,v 1.8 2000-01-09 17:57:46 sandervl Exp $ */ 2 2 /* 3 3 * Window Menu wrapper functions for OS/2 … … 110 110 //****************************************************************************** 111 111 //****************************************************************************** 112 void OSLibWinSetSystemMenu(HWND hMenu) 113 { 114 WinSetWindowUShort(hMenu, QWS_ID, FID_SYSMENU); 115 } 116 //****************************************************************************** 117 //****************************************************************************** -
trunk/src/user32/oslibmenu.h
r2371 r2391 1 /* $Id: oslibmenu.h,v 1. 5 2000-01-08 14:15:06 sandervl Exp $ */1 /* $Id: oslibmenu.h,v 1.6 2000-01-09 17:57:46 sandervl Exp $ */ 2 2 /* 3 3 * Window Menu wrapper functions for OS/2 … … 24 24 BOOL OSLibGetMenuItemRect(HWND hMenu, int index, LPRECT pRect); 25 25 int OSLibGetMenuItemPos(HWND hMenu, int item); 26 26 void OSLibWinSetSystemMenu(HWND hMenu); 27 27 28 #endif //__OSLIBGDI_H__ -
trunk/src/user32/oslibmsgtranslate.cpp
r2383 r2391 1 /* $Id: oslibmsgtranslate.cpp,v 1.1 1 2000-01-09 14:37:09sandervl Exp $ */1 /* $Id: oslibmsgtranslate.cpp,v 1.12 2000-01-09 17:57:47 sandervl Exp $ */ 2 2 /* 3 3 * Window message translation functions for OS/2 … … 396 396 ULONG win32sc; 397 397 398 398 399 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); 433 437 break; 434 438 } -
trunk/src/user32/pmframe.cpp
r2383 r2391 1 /* $Id: pmframe.cpp,v 1.3 4 2000-01-09 14:37:09sandervl Exp $ */1 /* $Id: pmframe.cpp,v 1.35 2000-01-09 17:57:47 sandervl Exp $ */ 2 2 /* 3 3 * Win32 Frame Managment Code for OS/2 … … 405 405 } 406 406 407 case WM_COMMAND: 408 { 409 dprintf(("PMFRAME: WM_COMMAND %x %x %x", hwnd, mp1, mp2)); 410 HWND hSysMenu = win32wnd->getSystemMenu(); 411 USHORT id = (USHORT)(ULONG)mp1; 412 if(hSysMenu) { 413 if((int)WinSendMsg(hSysMenu, MM_ITEMPOSITIONFROMID, MPFROM2SHORT(id, TRUE), 0) != MIT_NONE) { 414 return (MRESULT)WinPostMsg(win32wnd->getOS2WindowHandle(), WM_SYSCOMMAND, mp1, (MPARAM)1); 415 } 416 } 417 goto RunDefFrameProc; 418 } 419 407 420 case WM_DESTROY: 408 421 #ifdef PMFRAMELOG -
trunk/src/user32/win32wbase.cpp
r2388 r2391 1 /* $Id: win32wbase.cpp,v 1.13 7 2000-01-09 16:52:54sandervl Exp $ */1 /* $Id: win32wbase.cpp,v 1.138 2000-01-09 17:57:48 sandervl Exp $ */ 2 2 /* 3 3 * Win32 Window Base Class for OS/2 … … 2008 2008 if(fRevert == FALSE) { 2009 2009 OS2SysMenu = LoadMenuA(hInstanceUser32, (LPCSTR)"SYSMENU"); 2010 if(OS2SysMenu) { 2011 OSLibWinSetSystemMenu(OS2SysMenu); 2012 } 2010 2013 return OS2SysMenu; 2011 2014 } -
trunk/src/user32/win32wbase.h
r2384 r2391 1 /* $Id: win32wbase.h,v 1. 69 2000-01-09 15:56:05sandervl Exp $ */1 /* $Id: win32wbase.h,v 1.70 2000-01-09 17:57:49 sandervl Exp $ */ 2 2 /* 3 3 * Win32 Window Base Class for OS/2 … … 152 152 BOOL SetMenu(ULONG hMenu); 153 153 HMENU GetSystemMenu(BOOL fRevert); 154 HMENU getSystemMenu(); 154 155 155 156 BOOL SetIcon(HICON hIcon); -
trunk/src/user32/win32wbasepaint.cpp
r2388 r2391 1 /* $Id: win32wbasepaint.cpp,v 1. 3 2000-01-09 16:52:55sandervl Exp $ */1 /* $Id: win32wbasepaint.cpp,v 1.4 2000-01-09 17:57:50 sandervl Exp $ */ 2 2 /* 3 3 * Win32 Window Base Class for OS/2 … … 43 43 #include "initterm.h" 44 44 45 #define SC_ABOUTODIN (SC_SCREENSAVE+1) 46 #define SC_PUTMARK (SC_SCREENSAVE+2) 47 45 48 #define HAS_DLGFRAME(style,exStyle) \ 46 49 (((exStyle) & WS_EX_DLGMODALFRAME) || \ … … 83 86 static HBITMAP hbitmapRestoreD = 0; 84 87 static HMENU hSysMenu = 0; 88 89 static INT (* WINAPI ShellAboutA)(HWND,LPCSTR,LPCSTR,HICON) = 0; 85 90 86 91 BYTE lpGrayMask[] = { 0xAA, 0xA0, … … 1015 1020 hwndTitleBar = OSLibWinGetFrameControlHandle(getOS2FrameWindowHandle(), OSLIB_FID_TITLEBAR); 1016 1021 OSLibWinQueryWindowRect(hwndTitleBar, &rect, RELATIVE_TO_SCREEN); 1017 TrackPopupMenu((OS2SysMenu) ? OS2SysMenu : hSysMenu, TPM_LEFTALIGN|TPM_LEFTBUTTON, 1018 rect.left, rect.bottom+1, 1019 0, getWindowHandle(), NULL); 1022 //Need to use Open32 api directly, as we want the msgs to go to the frame window 1023 O32_TrackPopupMenu((OS2SysMenu) ? OS2SysMenu : hSysMenu, TPM_LEFTALIGN|TPM_LEFTBUTTON, 1024 rect.left, rect.bottom+1, 1025 0, getOS2FrameWindowHandle(), NULL); 1020 1026 } 1021 1027 //MENU_TrackMouseMenuBar( wndPtr, wParam & 0x000F, pt32 ); 1028 break; 1029 1030 case SC_SCREENSAVE: 1031 if (wParam == SC_ABOUTODIN) { 1032 if(ShellAboutA == 0) { 1033 HINSTANCE hShell32 = LoadLibraryA("SHELL32"); 1034 if(hShell32 == 0) 1035 break; 1036 *(VOID **)&ShellAboutA = (VOID *)GetProcAddress(hShell32, "ShellAboutA"); 1037 } 1038 ShellAboutA(Win32Hwnd,"Odin","Odin alpha release compiled with IBM VAC++",0); 1039 } 1040 else 1041 if (wParam == SC_PUTMARK) 1042 dprintf(("Mark requested by user\n")); 1022 1043 break; 1023 1044 … … 1040 1061 break; 1041 1062 1042 case SC_SCREENSAVE:1043 if (wParam == SC_ABOUTWINE)1044 ShellAboutA(hwnd, "Odin", WINE_RELEASE_INFO, 0);1045 else1046 if (wParam == SC_PUTMARK)1047 dprintf(("Mark requested by user\n"));1048 break;1049 1050 1063 case SC_HOTKEY: 1051 1064 case SC_ARRANGE: … … 1059 1072 //****************************************************************************** 1060 1073 //****************************************************************************** 1061 1074 HMENU Win32BaseWindow::getSystemMenu() 1075 { 1076 if(!fOS2Look) { 1077 return (OS2SysMenu) ? OS2SysMenu : hSysMenu; 1078 } 1079 return 0; 1080 } 1081 //****************************************************************************** 1082 //****************************************************************************** 1083
Note:
See TracChangeset
for help on using the changeset viewer.