Cases Where "Normal" Window Position, Size Not Available

Last reviewed: November 2, 1995
Article ID: Q68583
The information in this article applies to:
  • Microsoft Windows Software Development Kit (SDK) versions 3.0 and 3.1
  • Microsoft Win32 Application Programming Interface (API) included with:

        - Microsoft Windows NT versions 3.5 and 3.51
        - Microsoft Windows 95 version 4.0
    

SUMMARY

In Windows version 3.0, the "normal" size and position of a window is not available when that window is maximized (zoomed) or minimized (represented as an icon). In Windows version 3.1, two new functions named GeWindowPlacement and SetWindowPlacement have been added which provide access to normal position information.

MORE INFORMATION

The remainder of this article provides two possible ways to work around this limitation in Windows version 3.0:

  1. If the normal size is needed only as the application is shut down, restore the window and retrieve its position before closing the application. The following call can be used to restore the window whose window handle is hWnd:

          SendMessage(hWnd, WM_SYSCOMMAND, SC_RESTORE, 0L);
    

    The GetWindowRect or GetClientRect functions can then be used to obtain the window's position.

  2. If the normal size is needed at all times, keep track of the position every time the window receives a WM_MOVE message. If the IsIconic and IsZoomed functions both return FALSE, assume the window is normal and update the position values. Otherwise, do not change the saved position information.


Additional reference words: 3.00 3.10 3.50 3.51 4.00 95
KBCategory: kbui
KBSubcategory: UsrWndw


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: November 2, 1995
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.