The WINDOWPLACEMENT structure contains information about the placement of a window on the screen.
typedef struct _WINDOWPLACEMENT {
UINT length;
UINT flags;
UINT showCmd;
POINT ptMinPosition;
POINT ptMaxPosition;
RECT rcNormalPosition;
} WINDOWPLACEMENT;
GetWindowPlacement and SetWindowPlacement fail if this member is not set correctly.
Value | Meaning |
---|---|
WPF_RESTORETOMAXIMIZED | |
Specifies that the restored window will be maximized, regardless of whether it was maximized before it was minimized. This setting is only valid the next time the window is restored. It does not change the default restoration behavior. This flag is only valid when the SW_SHOWMINIMIZED value is specified for the showCmd member. | |
WPF_SETMINPOSITION | |
Specifies that the coordinates of the minimized window may be specified. This flag must be specified if the coordinates are set in the ptMinPosition member. |
Value | Meaning |
---|---|
SW_HIDE | Hides the window and activates another window. |
SW_MINIMIZE | Minimizes the specified window and activates the top-level window in the system's list. |
SW_RESTORE | Activates and displays a window. If the window is minimized or maximized, the system restores it to its original size and position (same as SW_SHOWNORMAL). |
SW_SHOW | Activates a window and displays it in its current size and position. |
SW_SHOWMAXIMIZED | Activates a window and displays it as a maximized window. |
SW_SHOWMINIMIZED | Activates a window and displays it as an icon. |
SW_SHOWMINNOACTIVE | Displays a window as an icon. The active window remains active. |
SW_SHOWNA | Displays a window in its current state. The active window remains active. |
SW_SHOWNOACTIVATE | Displays a window in its most recent size and position. The active window remains active. |
SW_SHOWNORMAL | Activates and displays a window. If the window is minimized or maximized, the system restores it to its original size and position (same as SW_RESTORE). |
If the window is a top-level window that does not have the WS_EX_TOOLWINDOW window style, then the coordinates represented by the following members are in workspace coordinates: ptMinPosition, ptMaxPosition, and rcNormalPosition. Otherwise, these members are in screen coordinates.
Workspace coordinates differ from screen coordinates in that they take the locations and sizes of appbars (including the taskbar) into account. Workspace coordinate (0,0) is the upper-left corner of the "workspace area", the area of the screen not being used by appbars.
The coordinates used in a WINDOWPLACEMENT structure should be used only by the GetWindowPlacement and SetWindowPlacement functions. Passing workspace coordinates to functions which expect screen coordinates (such as SetWindowPos) will result in the window appearing in the wrong location. For example, if the taskbar is at the top of the screen, saving window coordinates using GetWindowPlacement and restoring them using SetWindowPos causes the window to appear to "creep" up the screen.
Windows NT: Requires version 3.1 or later.
Windows: Requires Windows 95 or later.
Windows CE: Unsupported.
Header: Declared in winuser.h.
Windows Overview, Window Structures, GetWindowPlacement, SetWindowPlacement, SetWindowPos, ShowWindow, POINT, RECT