INF: Cases Where "Normal" Window Position, Size Not Available

ID Number: Q68583

3.00 3.10

WINDOWS

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.

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.x