2010-01-22 61 views
0

我在想什麼狀態下的窗口在期間的行爲最小化最大化還是恢復。我不確定這個問題是否有意義 - 我對win32編程頗爲陌生。一個窗口可以「在」最小化(或最大化)和恢復狀態?

基本上我有一個計時問題的應用,在那裏它不會看到一個辦公室應用程序窗口可見(IsWindowVisible調用)時,它正處於要全屏或恢復下跌過程。如果我能弄清楚一個窗口是否處於這種「在兩者之間」的狀態,我可以等到它不在「之間」,看看我是否可以將它用於我的應用程序。

感謝,A

回答

2

當一個窗口 - 可見 - 在beinf的或縮小動畫的過程中,仍然隱藏窗口。

窗口狀態變化是即時的。如果一個窗口被設置爲恢復,那麼它的恢復和它將被繪製在恢復的屏幕上。

各種進出動畫是由shell生成的動畫。因此,它們可以在窗口顯示之前或隱藏之後播放。

這些動畫過程中的窗口實際狀態非常正確 - 窗口被隱藏。但是,屏幕上會有一個動畫,使用窗口內容的快照使窗口看起來像窗口正在進行動畫處理。

1

如果沒有WS_MINIMIZE或WS_MAXIMIZE則窗口在正常風格

編輯:關於你的問題:沒有,有WS_MINIMIZE和WS_MAXIMIZE

1

之間沒有狀態IsWindowVisible()並不是你想要的。

嘗試GetWindowPlacement():「GetWindowPlacement函數檢索顯示狀態以及指定窗口的恢復,最小化和最大化位置。」這是「顯示狀態」(實際名稱是showCmd)。

文檔此功能:MSDN

上的showCmd這裏可能值的信息:MSDN

相關問題