- Timestamp:
- Nov 25, 1999, 8:22:04 PM (26 years ago)
- Location:
- trunk/src/user32
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/user32/oslibwin.cpp
r1831 r1839 1 /* $Id: oslibwin.cpp,v 1.4 7 1999-11-24 19:32:21sandervl Exp $ */1 /* $Id: oslibwin.cpp,v 1.48 1999-11-25 19:22:02 sandervl Exp $ */ 2 2 /* 3 3 * Window API wrappers for OS/2 … … 38 38 hwndParent = HWND_DESKTOP; 39 39 } 40 40 else 41 if(hwndParent == OSLIB_HWND_OBJECT) { 42 hwndParent = HWND_OBJECT; 43 } 41 44 return (WinSetParent(hwnd, hwndParent, fRedraw) == 0); 42 45 } -
trunk/src/user32/win32wbase.cpp
r1837 r1839 1 /* $Id: win32wbase.cpp,v 1.9 4 1999-11-24 20:28:20sandervl Exp $ */1 /* $Id: win32wbase.cpp,v 1.95 1999-11-25 19:22:02 sandervl Exp $ */ 2 2 /* 3 3 * Win32 Window Base Class for OS/2 … … 634 634 else 635 635 { 636 dprintf(("Set window ID to %x", cs->hMenu));637 636 setWindowId((DWORD)cs->hMenu); 638 637 } … … 1544 1543 1545 1544 case WM_SETREDRAW: 1545 { 1546 DWORD oldStyle = getStyle(); 1547 1546 1548 if(wParam) 1547 SetWindowLongA (GWL_STYLE, GetWindowLongA (GWL_STYLE) | WS_VISIBLE); 1548 else SetWindowLongA (GWL_STYLE, GetWindowLongA (GWL_STYLE) & ~WS_VISIBLE); 1549 setStyle(getStyle() | WS_VISIBLE); 1550 else setStyle(getStyle() & ~WS_VISIBLE); 1551 1552 updateWindowStyle(getExStyle(), oldStyle); 1549 1553 1550 1554 return 0; //TODO 1551 1555 } 1552 1556 case WM_NCCREATE: 1553 1557 return(TRUE); … … 2068 2072 } 2069 2073 //****************************************************************************** 2070 // TODO: Probably not complete compatible with win32 implementation2071 //****************************************************************************** 2072 LRESULT Win32BaseWindow:: BroadcastMessageA(int type, UINT msg, WPARAM wParam, LPARAM lParam)2074 //Send message to window of another process 2075 //****************************************************************************** 2076 LRESULT Win32BaseWindow::SendMessageToProcess(UINT msg, WPARAM wParam, LPARAM lParam, BOOL fUnicode) 2073 2077 { 2074 2078 POSTMSG_PACKET *packet = (POSTMSG_PACKET *)_smalloc(sizeof(POSTMSG_PACKET)); 2075 2079 2076 dprintf(("BroadCastMessageA %x %x %x", msg, wParam, lParam)); 2077 return 0; 2078 2080 dprintf(("SendMessageToProcess %x %x %x %x", getOS2WindowHandle(), msg, wParam, lParam)); 2079 2081 packet->Msg = msg; 2080 2082 packet->wParam = wParam; 2081 2083 packet->lParam = lParam; 2082 packet->fUnicode = FALSE; 2083 2084 return OSLibWinBroadcastMsg(WIN32APP_POSTMSG, WIN32PM_MAGIC, (DWORD)packet, type == BROADCAST_SEND); 2085 } 2086 //****************************************************************************** 2087 //TODO: Probably not complete compatible with win32 implementation 2084 packet->fUnicode = fUnicode; 2085 return OSLibSendMessage(getOS2WindowHandle(), WIN32APP_POSTMSG, WIN32PM_MAGIC, (DWORD)packet); 2086 } 2087 //****************************************************************************** 2088 //TODO: Do this more efficiently 2089 //****************************************************************************** 2090 LRESULT Win32BaseWindow::BroadcastMessageA(int type, UINT msg, WPARAM wParam, LPARAM lParam) 2091 { 2092 Win32BaseWindow *window; 2093 HWND hwnd = WNDHANDLE_MAGIC_HIGHWORD; 2094 DWORD processid, myprocessid; 2095 2096 dprintf(("BroadCastMessageA %x %x %x", msg, wParam, lParam, GetFS())); 2097 myprocessid = GetCurrentProcessId(); 2098 2099 for(int i=0;i<MAX_WINDOW_HANDLES;i++) { 2100 window = GetWindowFromHandle(hwnd++); 2101 if(window) { 2102 if (window->getStyle() & WS_POPUP || (window->getStyle() & WS_CAPTION) == WS_CAPTION) 2103 { 2104 2105 if(type == BROADCAST_SEND) { 2106 GetWindowThreadProcessId(hwnd, &processid); 2107 if(processid == myprocessid) { 2108 window->SendMessageA(msg, wParam, lParam); 2109 } 2110 else { 2111 window->SendMessageToProcess(msg, wParam, lParam, FALSE); 2112 } 2113 } 2114 else window->PostMessageA(msg, wParam, lParam); 2115 } 2116 } 2117 } 2118 return 0; 2119 } 2120 //****************************************************************************** 2121 //TODO: Do this more efficiently 2088 2122 //****************************************************************************** 2089 2123 LRESULT Win32BaseWindow::BroadcastMessageW(int type, UINT msg, WPARAM wParam, LPARAM lParam) 2090 2124 { 2091 POSTMSG_PACKET *packet = (POSTMSG_PACKET *)_smalloc(sizeof(POSTMSG_PACKET)); 2125 Win32BaseWindow *window; 2126 HWND hwnd = WNDHANDLE_MAGIC_HIGHWORD; 2127 DWORD processid, myprocessid; 2128 2092 2129 2093 2130 dprintf(("BroadCastMessageW %x %x %x", msg, wParam, lParam)); 2131 myprocessid = GetCurrentProcessId(); 2132 2133 for(int i=0;i<MAX_WINDOW_HANDLES;i++) { 2134 window = GetWindowFromHandle(hwnd++); 2135 if(window) { 2136 if (window->getStyle() & WS_POPUP || (window->getStyle() & WS_CAPTION) == WS_CAPTION) 2137 { 2138 2139 if(type == BROADCAST_SEND) { 2140 GetWindowThreadProcessId(hwnd, &processid); 2141 if(processid == myprocessid) { 2142 window->SendMessageW(msg, wParam, lParam); 2143 } 2144 else { 2145 window->SendMessageToProcess(msg, wParam, lParam, TRUE); 2146 } 2147 } 2148 else window->PostMessageW(msg, wParam, lParam); 2149 } 2150 } 2151 } 2094 2152 return 0; 2095 2096 packet->Msg = msg;2097 packet->wParam = wParam;2098 packet->lParam = lParam;2099 packet->fUnicode = TRUE;2100 2101 return OSLibWinBroadcastMsg(WIN32APP_POSTMSG, WIN32PM_MAGIC, (DWORD)packet, type == BROADCAST_SEND);2102 2153 } 2103 2154 //****************************************************************************** … … 2403 2454 return oldhwnd; 2404 2455 } 2405 SetLastError(ERROR_INVALID_PARAMETER); 2406 return 0; 2456 else { 2457 setParent(windowDesktop); 2458 getParent()->AddChild(this); 2459 OSLibWinSetParent(getOS2FrameWindowHandle(), OSLIB_HWND_DESKTOP); 2460 return oldhwnd; 2461 } 2407 2462 } 2408 2463 //****************************************************************************** … … 2814 2869 SendMessageA(WM_STYLECHANGING,GWL_EXSTYLE,(LPARAM)&ss); 2815 2870 setExStyle(ss.styleNew); 2816 updateWindowStyle(ss.styleOld, dwStyle);2871 updateWindowStyle(ss.styleOld,getStyle()); 2817 2872 SendMessageA(WM_STYLECHANGED,GWL_EXSTYLE,(LPARAM)&ss); 2818 2873 return ss.styleOld; … … 2825 2880 return value; 2826 2881 2827 ss.styleOld = dwStyle; 2828 ss.styleNew = value; 2829 dprintf(("SetWindowLong GWL_STYLE %x old %x new style %x", getWindowHandle(), dwStyle, value)); 2882 value &= ~(WS_VISIBLE | WS_CHILD); /* Some bits can't be changed this way (WINE) */ 2883 ss.styleOld = getStyle(); 2884 ss.styleNew = value | (ss.styleOld & (WS_VISIBLE | WS_CHILD)); 2885 dprintf(("SetWindowLong GWL_STYLE %x old %x new style %x", getWindowHandle(), getStyle(), value)); 2830 2886 SendMessageA(WM_STYLECHANGING,GWL_STYLE,(LPARAM)&ss); 2831 2887 setStyle(ss.styleNew); 2832 2888 updateWindowStyle(dwExStyle,ss.styleOld); 2833 2889 SendMessageA(WM_STYLECHANGED,GWL_STYLE,(LPARAM)&ss); 2890 #ifdef DEBUG 2891 PrintWindowStyle(ss.styleNew, 0); 2892 #endif 2834 2893 return ss.styleOld; 2835 2894 } … … 2937 2996 { 2938 2997 windowId = id; 2998 dprintf(("Set window ID to %x", id)); 2939 2999 OSLibSetWindowID(OS2HwndFrame, id); 2940 3000 } -
trunk/src/user32/win32wbase.h
r1831 r1839 1 /* $Id: win32wbase.h,v 1.4 5 1999-11-24 19:32:23 sandervl Exp $ */1 /* $Id: win32wbase.h,v 1.46 1999-11-25 19:22:03 sandervl Exp $ */ 2 2 /* 3 3 * Win32 Window Base Class for OS/2 … … 207 207 LRESULT SendMessageA(ULONG msg, WPARAM wParam, LPARAM lParam); 208 208 LRESULT SendMessageW(ULONG msg, WPARAM wParam, LPARAM lParam); 209 LRESULT SendMessageToProcess(UINT msg, WPARAM wParam, LPARAM lParam, BOOL fUnicode); 209 210 BOOL PostMessageA(ULONG msg, WPARAM wParam, LPARAM lParam); 210 211 BOOL PostMessageW(ULONG msg, WPARAM wParam, LPARAM lParam); -
trunk/src/user32/win32wndhandle.cpp
r949 r1839 1 /* $Id: win32wndhandle.cpp,v 1. 1 1999-09-15 23:19:02sandervl Exp $ */1 /* $Id: win32wndhandle.cpp,v 1.2 1999-11-25 19:22:03 sandervl Exp $ */ 2 2 /* 3 3 * Win32 Handle Management Code for OS/2 … … 19 19 #include <vmutex.h> 20 20 #include "win32wndhandle.h" 21 22 #define MAX_WINDOW_HANDLES 102423 #define WNDHANDLE_MAGIC_HIGHWORD 0x6800000024 #define WNDHANDLE_MAGIC_MASK 0x0000FFFF25 21 26 22 //****************************************************************************** -
trunk/src/user32/win32wndhandle.h
r949 r1839 1 /* $Id: win32wndhandle.h,v 1. 1 1999-09-15 23:19:02sandervl Exp $ */1 /* $Id: win32wndhandle.h,v 1.2 1999-11-25 19:22:04 sandervl Exp $ */ 2 2 /* 3 3 * Win32 Handle Management Code for OS/2 … … 13 13 #define __WIN32WNDHANDLE_H__ 14 14 15 #define MAX_WINDOW_HANDLES 1024 16 #define WNDHANDLE_MAGIC_HIGHWORD 0x68000000 17 #define WNDHANDLE_MAGIC_MASK 0x0000FFFF 18 15 19 BOOL HwAllocateWindowHandle(HWND *hwnd, DWORD dwUserData); 16 20 void HwFreeWindowHandle(HWND hwnd); -
trunk/src/user32/windlg.cpp
r1622 r1839 1 /* $Id: windlg.cpp,v 1.1 1 1999-11-05 17:50:30 achimhaExp $ */1 /* $Id: windlg.cpp,v 1.12 1999-11-25 19:22:04 sandervl Exp $ */ 2 2 /* 3 3 * Win32 dialog apis for OS/2 … … 130 130 if(!dialog || !dialog->IsDialog()) { 131 131 dprintf(("DialogBoxIndirectParamA, dialog %x not found", hwnd)); 132 SetLastError(ERROR_INVALID_WINDOW_HANDLE); 132 133 return 0; 133 134 } … … 151 152 if(!dialog || !dialog->IsDialog()) { 152 153 dprintf(("DialogBoxIndirectParamW, dialog %x not found", hwnd)); 154 SetLastError(ERROR_INVALID_WINDOW_HANDLE); 153 155 return 0; 154 156 } … … 171 173 if(!dialog || !dialog->IsDialog()) { 172 174 dprintf(("DialogBoxParamA, dialog %x not found", hwnd)); 175 SetLastError(ERROR_INVALID_WINDOW_HANDLE); 173 176 return 0; 174 177 } … … 191 194 if(!dialog || !dialog->IsDialog()) { 192 195 dprintf(("DialogBoxParamW, dialog %x not found", hwnd)); 196 SetLastError(ERROR_INVALID_WINDOW_HANDLE); 193 197 return 0; 194 198 } … … 255 259 } 256 260 dprintf(("USER32: GetDlgItem %x %d NOT FOUND!\n", hwnd, id)); 261 SetLastError(ERROR_INVALID_PARAMETER); 257 262 return 0; 258 263 } -
trunk/src/user32/window.cpp
r1799 r1839 1 /* $Id: window.cpp,v 1.3 7 1999-11-21 16:22:14 achimhaExp $ */1 /* $Id: window.cpp,v 1.38 1999-11-25 19:22:04 sandervl Exp $ */ 2 2 /* 3 3 * Win32 window apis for OS/2 … … 1120 1120 pDWP = (DWP *) hdwp; 1121 1121 if (!pDWP) { 1122 dprintf(("**EndDeferWindowPos invalid parameter\n"));1122 dprintf(("**EndDeferWindowPos invalid parameter\n")); 1123 1123 SetLastError(ERROR_INVALID_PARAMETER); 1124 1124 return FALSE; … … 1462 1462 DWORD WIN32API GetWindowThreadProcessId(HWND hWnd, PDWORD lpdwProcessId) 1463 1463 { 1464 dprintf (("USER32: GetWindowThreadProcessId"));1464 dprintf2(("USER32: GetWindowThreadProcessId")); 1465 1465 hWnd = Win32BaseWindow::Win32ToOS2Handle(hWnd); 1466 1466 … … 1471 1471 DWORD WIN32API GetWindowContextHelpId(HWND hwnd) 1472 1472 { 1473 dprintf(("USER32: GetWindowContextHelpId, not implemented\n")); 1474 hwnd = Win32BaseWindow::Win32ToOS2Handle(hwnd); 1475 1476 return(0); 1473 Win32BaseWindow *window; 1474 1475 window = Win32BaseWindow::GetWindowFromHandle(hwnd); 1476 if(!window) { 1477 dprintf(("GetWindowContextHelpId, window %x not found", hwnd)); 1478 SetLastError(ERROR_INVALID_WINDOW_HANDLE); 1479 return 0; 1480 } 1481 dprintf(("GetWindowContextHelpId %x", hwnd)); 1482 return window->getWindowContextHelpId(); 1477 1483 } 1478 1484 //****************************************************************************** … … 1480 1486 BOOL WIN32API SetWindowContextHelpId(HWND hwnd, DWORD dwContextHelpId) 1481 1487 { 1482 dprintf(("USER32: SetWindowContextHelpId, not implemented")); 1483 hwnd = Win32BaseWindow::Win32ToOS2Handle(hwnd); 1484 1485 return(TRUE); 1486 } 1487 //****************************************************************************** 1488 //****************************************************************************** 1488 Win32BaseWindow *window; 1489 1490 window = Win32BaseWindow::GetWindowFromHandle(hwnd); 1491 if(!window) { 1492 dprintf(("SetWindowContextHelpId, window %x not found", hwnd)); 1493 SetLastError(ERROR_INVALID_WINDOW_HANDLE); 1494 return 0; 1495 } 1496 dprintf(("SetWindowContextHelpId %x %d", hwnd, dwContextHelpId)); 1497 window->setWindowContextHelpId(dwContextHelpId); 1498 return(TRUE); 1499 } 1500 //****************************************************************************** 1501 //****************************************************************************** -
trunk/src/user32/windowword.cpp
r1704 r1839 1 /* $Id: windowword.cpp,v 1. 3 1999-11-11 13:17:33sandervl Exp $ */1 /* $Id: windowword.cpp,v 1.4 1999-11-25 19:22:04 sandervl Exp $ */ 2 2 3 3 /* … … 138 138 else 139 139 { 140 dprintf(("GetWindowLongA; window %x not found!", hwnd));140 dprintf(("GetWindowLongA; window %x (%d) not found!", hwnd, nIndex)); 141 141 } 142 142 return 0;
Note:
See TracChangeset
for help on using the changeset viewer.