Changeset 728 for trunk/src/user32/new/pmwindow.cpp
- Timestamp:
- Aug 28, 1999, 7:24:45 PM (26 years ago)
- File:
-
- 1 edited
-
trunk/src/user32/new/pmwindow.cpp (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/user32/new/pmwindow.cpp
r715 r728 1 /* $Id: pmwindow.cpp,v 1.2 2 1999-08-27 17:50:56dengert Exp $ */1 /* $Id: pmwindow.cpp,v 1.23 1999-08-28 17:24:45 dengert Exp $ */ 2 2 /* 3 3 * Win32 Window Managment Code for OS/2 … … 212 212 ULONG parentHeight = 0; 213 213 HWND hParent = NULLHANDLE, hFrame = NULLHANDLE; 214 LONG yDelta = pswp->cy - pswpo->cy; 215 ULONG classStyle; 214 216 215 217 dprintf(("OS2: WM_WINDOWPOSCHANGED %x %x (%d,%d) (%d,%d)", hwnd, pswp->fl, pswp->x, pswp->y, pswp->cx, pswp->cy)); … … 234 236 wp.hwndInsertAfter = wndAfter->getWindowHandle(); 235 237 } 238 classStyle = win32wnd->getClass()->getStyle(); 239 // if (yDelta != 0) 240 if ((yDelta != 0) && ((classStyle & CS_VREDRAW_W) || 241 ((classStyle & CS_HREDRAW_W) && (pswp->cx != pswpo->cx)))) 242 { 243 HENUM henum = WinBeginEnumWindows(pswp->hwnd); 244 SWP swp[10]; 245 int i = 0; 246 HWND hwnd; 247 248 dprintf(("move children")); 249 while ((hwnd = WinGetNextWindow(henum)) != NULLHANDLE) 250 { 251 #if 0 252 /* Do not move MDI clients. MDI clients are a special case, 253 * even though they are bottom aligned they are always supposed 254 * to be the same size as their parent. This code is an 255 * optimization and will not work correctly if the this 256 * assumption is incorrect. 257 */ 258 WinBase *pBase = (WinBase *)WinQueryDAXData( hwnd ); 259 if ( pBase && pBase->typeOf() == mdiClient ) 260 { 261 continue; 262 } 263 #endif 264 // We don't know how many children we have so we'll move ten 265 // at a time. Not very nice, I know. 266 WinQueryWindowPos(hwnd, &(swp[i])); 267 268 // The SWP flags are all set but PM will ignore any 269 // superflous ones, so keep them as they contain useful 270 // minimise and maximise flags. 271 swp[i].y += yDelta; 272 273 if (i == 9) 274 { 275 WinSetMultWindowPos(GetThreadHAB(), swp, 10); 276 i = 0; 277 } 278 else 279 { 280 i++; 281 } 282 } 283 284 WinEndEnumWindows(henum); 285 286 // Any remaining windows? 287 if (i) 288 WinSetMultWindowPos(GetThreadHAB(), swp, i); 289 } 236 290 win32wnd->MsgPosChanged((LPARAM)&wp); 291 237 292 break; 238 293 } … … 240 295 case WM_ERASEBACKGROUND: 241 296 { 242 return (MRESULT) FALSE;297 break; 243 298 } 244 299 case WM_SIZE: 245 300 { 246 SWP swp;247 248 rc = WinQueryWindowPos(hwnd, &swp);249 if(rc == FALSE) {250 dprintf(("WM_SIZE: WinQueryWindowPos failed!"));251 break;252 }253 dprintf(("OS2: WM_SIZE %x %x (%d,%d) (%d,%d) (%d,%d)", hwnd, swp.fl, swp.x, swp.y, swp.cx, swp.cy, SHORT1FROMMP(mp2), SHORT2FROMMP(mp2)));254 #if 0255 if(win32wnd->MsgSize(SHORT1FROMMP(mp2), SHORT2FROMMP(mp2),256 (swp.fl & SWP_MINIMIZE) != 0,257 (swp.fl & SWP_MAXIMIZE) != 0))258 {259 goto RunDefWndProc;260 }261 #endif262 301 break; 263 302 }
Note:
See TracChangeset
for help on using the changeset viewer.
