Microsoft KB Archive/70080

{|
 * width="100%"|

HOWTO: Create a Hidden MDI Child Window

 * }

Q70080

-

The information in this article applies to:


 * Microsoft Windows Software Development Kit (SDK)
 * Microsoft Win32 Software Development Kit (SDK)

-

SUMMARY
Whenever Windows creates a new multiple-document interface (MDI) child window in response to a WM_MDICREATE message, it makes that child window visible.

The information below describes how to create a hidden MDI child window without causing an unattractive &quot;flash&quot; on the screen as the window is created visible and then hidden.

MORE INFORMATION
A code fragment such as the following can be used to create an invisible MDI child:

  MDICREATESTRUCT mcs;            // Structure to pass with WM_MDICREATE. HWND           hWndMDIClient;  // The MDI client window. HWND           hwnd;           // Temporary window handle.

...  // Assume that you have already filled out the MDICREATESTRUCT.

// Turn off redrawing in the MDI client window. SendMessage(hwndMDIClient, WM_SETREDRAW, FALSE, 0L);

/*   * Create the MDI child. It will be created visible, but will not * be seen because redrawing to the MDI client has been disabled. */   hwnd = (WORD)SendMessage(hwndMDIClient,                            WM_MDICREATE,                            0,                            (LONG)(LPMDICREATESTRUCT)&amp;mcs);

// Hide the child. ShowWindow(hwnd, SW_HIDE);

// Turn redrawing in the MDI client back on, // and force an immediate update. SendMessage(hwndMDIClient, WM_SETREDRAW, TRUE, 0L); InvalidateRect( hwndMDIClient, NULL, TRUE ); UpdateWindow( hwndMDIClient ); ... Additional query words:

Keywords : kbMDI kbOSWinNT kbOSWin2000 kbSDKWin32 kbGrpDSUser kbOSWin kbWndw

Issue type : kbhowto

Technology : kbWin32SDKSearch kbAudDeveloper kbSDKSearch kbWin32sSearch kbWinSDKSearch