An application sends the WM_MDIACTIVATE message to a multiple document interface (MDI) client window to instruct the client window to activate a different MDI child window. As the client window processes this message, it sends WM_MDIACTIVATE to the child window being deactivated and to the child window being activated.
WM_MDIACTIVATE // Message sent to MDI client wParam = (WPARAM) (HWND) hwndChildAct; // child to activate lParam = 0; // not used; must be zero // Message received by MDI child hwndChildDeact = (HWND) wParam; // child being deactivated hwndChildAct = (HWND) lParam; // child being activated
In messages sent to an MDI client window:
In messages received by an MDI child window:
If an application sends this message to an MDI client window, the return value is zero. An MDI child window should return zero if it processes this message.
An MDI child window is activated independently of the MDI frame window. When the frame window becomes active, the child window last activated by using the WM_MDIACTIVATE message receives the WM_NCACTIVATE message to draw an active window frame and title bar; the child window does not receive another WM_MDIACTIVATE message.