Changeset 808 for trunk/src/user32/new/win32wmdichild.cpp
- Timestamp:
- Sep 3, 1999, 5:09:46 PM (26 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/user32/new/win32wmdichild.cpp
r760 r808 1 /* $Id: win32wmdichild.cpp,v 1. 2 1999-08-31 17:14:51sandervl Exp $ */1 /* $Id: win32wmdichild.cpp,v 1.3 1999-09-03 15:09:46 sandervl Exp $ */ 2 2 /* 3 3 * Win32 MDI Child Window Class for OS/2 … … 62 62 { 63 63 case WM_SETTEXT: 64 DefWindowProcA(Msg, wParam, lParam); 65 menuModifyItem(); 66 #if 0 64 DefWindowProcA(Msg, wParam, lParam); 65 menuModifyItem(); 67 66 if( client->getMaximizedChild() == this ) 68 MDI_UpdateFrameText( clientWnd->parent, ci->self, MDI_REPAINTFRAME, NULL ); 69 #endif 70 return 0; 67 client->updateFrameText(MDI_REPAINTFRAME, NULL); 68 return 0; 71 69 72 70 case WM_GETMINMAXINFO: … … 77 75 78 76 case WM_MENUCHAR: 79 80 77 /* MDI children don't have menu bars */ 78 client->PostMessageA(WM_SYSCOMMAND, (WPARAM)SC_KEYMENU, (LPARAM)LOWORD(wParam) ); 81 79 return 0x00010000L; 82 80 83 81 case WM_CLOSE: 84 85 82 client->SendMessageA(WM_MDIDESTROY,(WPARAM16)getWindowHandle(), 0L); 83 return 0; 86 84 87 85 case WM_SETFOCUS: 88 89 86 if(client->getActiveChild() != this ) 87 client->childActivate(this); 90 88 break; 91 89 92 90 case WM_CHILDACTIVATE: 93 91 client->childActivate(this); 94 92 return 0; 95 93 … … 98 96 99 97 case WM_SYSCOMMAND: 100 101 102 98 switch( wParam ) 99 { 100 case SC_MOVE: 103 101 if( client->getMaximizedChild() == this) 104 102 { … … 106 104 } 107 105 break; 108 109 110 106 case SC_RESTORE: 107 case SC_MINIMIZE: 108 setStyle(getStyle() | WS_SYSMENU); 111 109 break; 112 110 113 111 case SC_MAXIMIZE: 114 112 if( client->getMaximizedChild() == this) 115 113 { 116 114 return client->SendMessageA(Msg, wParam, lParam); 117 115 } 118 116 setStyle(getStyle() & ~WS_SYSMENU); 119 117 break; 120 118 121 122 123 124 125 126 127 128 119 case SC_NEXTWINDOW: 120 client->SendMessageA(WM_MDINEXT, 0, 0); 121 return 0; 122 123 case SC_PREVWINDOW: //WM_MDINEXT?? 124 client->SendMessageA(WM_MDINEXT, 0, 0); 125 return 0; 126 } 129 127 break; 130 128 131 129 case WM_SETVISIBLE: 130 if( client->getMaximizedChild()) { 131 client->setMdiFlags(client->getMdiFlags() & ~MDIF_NEEDUPDATE); 132 } 133 else client->postUpdate(SB_BOTH+1); 134 break; 135 136 case WM_SIZE: 137 /* do not change */ 138 if( client->getActiveChild() == this && wParam != SIZE_MAXIMIZED ) 139 { 140 client->setActiveChild(NULL); 132 141 #if 0 133 if( client->getMaximizedChild()) ci->mdiFlags &= ~MDIF_NEEDUPDATE; 134 else 135 MDI_PostUpdate(clientWnd->hwndSelf, ci, SB_BOTH+1); 142 MDI_RestoreFrameMenu( clientWnd->parent, hwnd); 136 143 #endif 137 break; 138 139 #if 0 140 case WM_SIZE: 141 /* do not change */ 142 143 if( ci->hwndActiveChild == hwnd && wParam != SIZE_MAXIMIZED ) 144 { 145 ci->hwndChildMaximized = 0; 146 147 MDI_RestoreFrameMenu( clientWnd->parent, hwnd); 148 MDI_UpdateFrameText( clientWnd->parent, ci->self, 149 MDI_REPAINTFRAME, NULL ); 150 } 151 152 if( wParam == SIZE_MAXIMIZED ) 153 { 154 HWND16 hMaxChild = ci->hwndChildMaximized; 155 156 if( hMaxChild == hwnd ) break; 157 158 if( hMaxChild) 159 { 160 SendMessage16( hMaxChild, WM_SETREDRAW, FALSE, 0L ); 161 162 MDI_RestoreFrameMenu( clientWnd->parent, hMaxChild); 163 ShowWindow16( hMaxChild, SW_SHOWNOACTIVATE); 164 165 SendMessage16( hMaxChild, WM_SETREDRAW, TRUE, 0L ); 166 } 167 168 ci->hwndChildMaximized = hwnd; /* !!! */ 169 ci->hwndActiveChild = hwnd; 170 171 MDI_AugmentFrameMenu( ci, clientWnd->parent, hwnd); 172 MDI_UpdateFrameText( clientWnd->parent, ci->self, 173 MDI_REPAINTFRAME, NULL ); 174 } 175 176 if( wParam == SIZE_MINIMIZED ) 177 { 178 HWND16 switchTo = MDI_GetWindow(clientWnd, hwnd, TRUE, WS_MINIMIZE); 179 180 if( switchTo ) 181 SendMessage16( switchTo, WM_CHILDACTIVATE, 0, 0L); 182 } 183 184 MDI_PostUpdate(clientWnd->hwndSelf, ci, SB_BOTH+1); 185 break; 144 client->updateFrameText(MDI_REPAINTFRAME, NULL ); 145 } 146 147 if( wParam == SIZE_MAXIMIZED ) 148 { 149 Win32MDIChildWindow *maxChild = client->getMaximizedChild(); 150 151 if( maxChild == this ) break; 152 153 if( maxChild) 154 { 155 maxChild->SendMessageA(WM_SETREDRAW, FALSE, 0L ); 156 #if 0 157 MDI_RestoreFrameMenu( clientWnd->parent, hMaxChild); 186 158 #endif 159 maxChild->ShowWindow(SW_SHOWNOACTIVATE); 160 161 maxChild->SendMessageA(WM_SETREDRAW, TRUE, 0L ); 162 } 163 164 client->setMaximizedChild(this); 165 client->setActiveChild(this); 166 167 #if 0 168 MDI_AugmentFrameMenu( ci, clientWnd->parent, hwnd); 169 #endif 170 client->updateFrameText(MDI_REPAINTFRAME, NULL ); 171 } 172 173 if( wParam == SIZE_MINIMIZED ) 174 { 175 Win32MDIChildWindow *switchTo = client->getWindow(this, TRUE, WS_MINIMIZE); 176 177 if( switchTo ) 178 switchTo->SendMessageA(WM_CHILDACTIVATE, 0, 0L); 179 } 180 181 client->postUpdate(SB_BOTH+1); 182 break; 187 183 188 184 #if 0 189 185 case WM_NEXTMENU: 190 if( wParam == VK_LEFT )/* switch to frame system menu */186 if( wParam == VK_LEFT ) /* switch to frame system menu */ 191 187 { 192 188 return MAKELONG( GetSubMenu(clientWnd->parent->hSysMenu, 0), 193 189 clientWnd->parent->hwndSelf ); 194 190 goto END; 195 191 } 196 if( wParam == VK_RIGHT )/* to frame menu bar */192 if( wParam == VK_RIGHT ) /* to frame menu bar */ 197 193 { 198 194 retvalue = MAKELONG( clientWnd->parent->wIDmenu, 199 195 clientWnd->parent->hwndSelf ); 200 196 goto END; 201 197 } 202 198 #endif 203 199 case WM_SYSCHAR: 204 205 206 207 208 200 if (wParam == '-') 201 { 202 SendMessageA(WM_SYSCOMMAND, (WPARAM)SC_KEYMENU, (LPARAM)(DWORD)VK_SPACE); 203 return 0; 204 } 209 205 } 210 206 return DefWindowProcA(Msg, wParam, lParam); … … 214 210 LRESULT Win32MDIChildWindow::DefMDIChildProcW(UINT Msg, WPARAM wParam, LPARAM lParam) 215 211 { 212 Win32MDIClientWindow *client = (Win32MDIClientWindow *)getParent(); 213 216 214 switch (Msg) 217 215 { 218 216 case WM_SETTEXT: 219 DefWindowProcW(Msg, wParam, lParam); 220 menuModifyItem(); 221 #if 0 222 if( client->getMaximizedChild() == this ) 223 MDI_UpdateFrameText( clientWnd->parent, ci->self, MDI_REPAINTFRAME, NULL ); 224 #endif 225 return 0; 226 217 DefWindowProcW(Msg, wParam, lParam); 218 menuModifyItem(); 219 if( client->getMaximizedChild() == this ) 220 client->updateFrameText(MDI_REPAINTFRAME, NULL ); 221 222 return 0; 223 227 224 case WM_GETMINMAXINFO: 228 225 case WM_MENUCHAR: … … 236 233 case WM_NEXTMENU: 237 234 return DefMDIChildProcA(Msg, wParam, lParam ); 238 235 239 236 case WM_SYSCHAR: 240 237 if (wParam == '-') 241 242 243 244 245 238 { 239 SendMessageW(WM_SYSCOMMAND, SC_KEYMENU, (LPARAM)(DWORD)VK_SPACE); 240 return 0; 241 } 242 break; 246 243 } 247 244 return DefWindowProcW(Msg, wParam, lParam); … … 338 335 #if 0 339 336 MDI_AugmentFrameMenu( ci, w->parent, hwnd ); 340 MDI_UpdateFrameText( w->parent, ci->self,MDI_REPAINTFRAME, NULL );337 client->updateFrameText(MDI_REPAINTFRAME, NULL ); 341 338 #endif 342 339 }
Note:
See TracChangeset
for help on using the changeset viewer.