窗口可以“介于”最小化(或最大化)和恢复状态之间吗?

时间:2010-01-22 21:28:51

标签: mfc winapi

我想知道期间窗口处于什么状态最小化最大化或恢复的操作。我真的不确定这个问题是否有意义 - 我对win32编程很新。

基本上我有一个带有计时问题的应用程序,当它在全屏显示或恢复时过程时,它看不到办公室应用程序窗口可见(IsWindowVisible调用)。如果我能弄清楚窗口是否处于“介于两者之间”状态,我可以等到它不在“介于两者之间”,看看我是否可以将它用于我的应用程序。

谢谢,A

3 个答案:

答案 0 :(得分:2)

当一个窗口 - 可见 - 在beinf动画进出时,窗口仍然是隐藏的。

窗口状态更改是即时的。如果窗口设置为恢复,则将其恢复并将其恢复到屏幕中。

各种进出动画是由shell生成的动画。因此,它们在窗口显示之前或隐藏之后播放。

这些动画中的窗口实际状态非常正确 - 窗口被隐藏。然而,屏幕上有一个动画,使用窗口内容的快照,使其看起来像窗口是动画进出。

答案 1 :(得分:1)

如果没有WS_MINIMIZE或WS_MAXIMIZE则窗口处于正常样式

编辑关于您的问题:不,WS_MINIMIZE和WS_MAXIMIZE之间没有状态

答案 2 :(得分:1)

IsWindowVisible()并不是你想要的。

尝试GetWindowPlacement():“GetWindowPlacement函数检索指定窗口的显示状态以及已恢复,最小化和最大化的位置。”它是“显示状态”(实际名称为showCmd)。

此功能的文档:MSDN

有关此showCmd的可能值的信息:MSDN