tags:

views:

81

answers:

3

I am wondering what state a window is in during the action of minimize maximize or restore. I am not actually sure if this question even makes sense - I am quite new to win32 programming.

Basically I have an app with a timing problem where it doesn't see an office app window as visible (IsWindowVisible call) when it is in the process of going full screen or restoring down. If I can figure out if a window is in this "in between" state I can wait until it is not "in between" to see if I can use it for the purposes of my app.

thanks, A

+1  A: 

if there is no WS_MINIMIZE or WS_MAXIMIZE then window is in normal style

edit: concerning your question: no, there is no state between WS_MINIMIZE and WS_MAXIMIZE

+1  A: 

IsWindowVisible() isn't really what you want.

Try GetWindowPlacement(): "The GetWindowPlacement function retrieves the show state and the restored, minimized, and maximized positions of the specified window." It's the "show state" (actual name is showCmd).

Docs for this function: MSDN

Information on possible values of showCmd here: MSDN

egrunin
+2  A: 

When a window is - visibly - in the process of beinf animated in or out, the window is still hidden.

Window state changes are instant.If a window is set to restored, then its restored and it will be drawn in the screen restored.

The various in and out animations are animations generated by the shell. As such, they are played either before the window is shown, or after it is hidden.

The windows actual state during these animations is quite correct - the window is hidden. However there is an animation on the screen using a snapshot of the windows contents to make it look like the window is animating in or out.

Chris Becke