2013-06-26 21 views
0

我知道有幾個標誌,使窗口總在最前面(如Qt的::工具提示,Qt的:: WindowStaysOnTopHint,QT ::彈出),但每時間的方法是同樣的問題。標誌的Windows 7窗口總是包括Win7的任務欄(自定義錯誤)

通過點擊程序和托盤之間的開始菜單,面積托盤,空場 - 窗等被隱藏。

一切都很好,當我和不同的應用程序之間切換,我單擊除上述場所的任何地方。

只要運行,我曾經使用其他應用程序,所以它可能是不請自來的Windows功能。

代碼沒有任何給定的意義,因爲在同一時間在哪裏愚蠢的錯誤,確實作爲一個標誌分開這個「小」問題。

+0

這只是一個「捷徑」顯示桌面(=最小化/隱藏所有的Windows),你可以做同樣的WINDOWS + d鍵盤快捷鍵。你不能以編程方式防止這種情況(即使您指示您的應用程序忽略WM_SIZE消息),因爲Windows將隱藏它(當/如果還原任何其他窗口,它會再次出現)。 –

+0

@Adriano,我敢打賭,這將有可能以編程方式防止它掛接到責任的過程中,如果沒有別的。這就是說,這是非常迂腐,但可能很有趣:p – chris

+0

@Chris我希望我不會這樣做! ;) –

回答

0

這些事情的工作: HWND的HWND = reinterpret_cast的(這 - > winId()); SetWindowPos(hWnd,HWND_TOPMOST,0,0,0,0,SWP_NOMOVE | SWP_NOSIZE);

但事實證明,與標題完全一樣。 (

的究竟是什麼問題說明: http://youtu.be/k5TCtr1hPKY

0

解決的辦法是,經常鍛鍊這樣的事:

if(this->isActiveWindow() == false} { 
    this->raise(); 
} 

只有最小化的窗口並不總是工作,但對我來說是不必要的。