2011-05-02 49 views
0

我在GIMP注意到,在打開一個對話框時,它不會禁用父窗口。父窗口仍然可以使用,而子窗口浮在它的前面。 我想要做同樣的事情,怎麼過我,當我點擊我的父窗口上推孩子背部,使得母來到了面前。浮動/總是上面的對話框

我使用Qt了QDialog的,但做快樂的平臺特定的代碼得到這個工作。

我一直期待在這裏: http://msdn.microsoft.com/en-us/library/ff700543(v=vs.85).aspx

,但似乎沒有做什麼,我之後。我有一個dodgey解決方案目前在我的窗口設置爲HWND_TOPMOST,當我的應用程序獲得焦點,則禁用此,當它失去焦點,但隨着消息框被推這些最頂端的窗口後面的並不理想。 即。

SetWindowPos(winId(), stayOnTop ? HWND_TOPMOST : HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOACTIVATE); 

回答

3

貌似我沒有在我的對話框正確養育設置!它需要父對話框/主窗口,然後才能正常工作。

1

你需要調用setWindowFlags()包括Qt::WindowStaysOnTopHint標誌。

+0

但是,保持它在所有窗口的頂部。我只想保持它的父母之上。正如在這裏討論:http://www.qtcentre.org/threads/15464-WindowStaysOnTopHint – SupaGu 2011-05-02 22:39:01

+0

是的,我誤解了你。我只是假設你的父母是正確的,因爲一旦你如此說話,就沒有別的事可做。 – 2011-05-03 02:33:32

相關問題