在Delphi中可以將窗口保留在所有其他窗口之上嗎?例如,當您的應用程序中出現錯誤消息時,假設您希望將窗口保持在最前,並確保用戶在可以執行任何其他操作之前必須點擊某個內容。我的意思是任何事情,比如在後臺點擊另一個程序。在Java中怎麼樣?在Delphi或Java中保持窗口頂部
回答
你可以在過去做到這一點。它被稱爲系統模式對話框,您使用現在已經過時的功能SetSysModalWindow()
函數。
他們完全令人厭惡,所以當基於Windows NT的Windows版本接管時,感覺和順序已經恢復。
在德爾福你可以做FormStyle:=fsStayOnTop;
。這會讓你置身於所有正常的窗戶前。
但是,如果還有其他窗口也設置了該樣式(例如任務欄),那麼這些窗口可能在您的面前。尤其在那些窗口中,重點關注的窗口具有最高優先級。
您可以嘗試確保您的窗口始終具有焦點,但這不是一個好主意。你會招致雷蒙德的幽靈。
您也可以使用分層窗口。我認爲這些都在正常的頂級窗口之前。但是這有嚴重的副作用,很可能不是你的正確選擇。
OP說「像在後臺點擊另一個程序」,所以fsStayOnTop沒有完成。實際上,它無論如何都是毫無意義的,因爲對話框大概是模態的(即應用模式),無論如何都是在應用窗口之上。 – 2011-03-24 13:14:57
如果其他程序沒有設置AlwaysOnTop,它將保持OP的程序在其他程序的前面。 – CodesInChaos 2011-03-24 13:21:20
@CodeInChaos,true,但其他窗口仍有可能獲得焦點。你可以通過捕捉鼠標來做骯髒的詭計,但準備火把和乾草叉。 – 2011-03-24 13:24:23
- 1. 保持窗口頂部WPF
- 2. 保持GeckoFX打印窗口在頂部
- 3. 如何保持窗口頂部
- 4. 保持X11窗口在另一個窗口頂部
- 5. Delphi父窗口在模態窗體中創建時保持在其他窗體的頂部
- 6. 總是在頂部的窗口,並保持焦點,在AwesomeWM
- 7. 啓動過程中保持窗口的頂部[WPF]
- 8. 如何保持JavaFX MenuBar在窗口的頂部
- 9. 鈦:創建一個窗口,保持在頂部
- 10. Delphi窗口在所有其他應用程序的頂部,而主窗口在
- 11. 總是在窗口頂部的窗口
- 12. 力保持應用程序窗口頂部 - Mac OS X的
- 13. 瀏覽器窗口像「showModelessDialog」方法一樣保持頂部
- 14. openTk .net核心保持窗口始終位於頂部
- 15. TideSDK保持窗口的頂部(透明覆蓋層)設置
- 16. 保持窗口始終在底部
- 17. QT - 窗口頂部
- 18. 將窗口保留在Windows中的另一個窗口(不在頂部)前
- 19. 如何保持QWidget(或QDialog)居中其父窗口小部件?
- 20. 在jquery中捕捉到窗口頂部
- 21. 保持窗口在後面
- 22. Heigher然後在網頁的div保持頂部頂部/中心
- 23. 保持元素垂直居中與負的頂部,而調整窗口大小
- 24. 保持一個窗口始終在另一個編程的頂部
- 25. 如何保持處理輸出窗口始終在最頂端
- 26. 將窗口帶到頂部
- 27. 顯示頂部MAC窗口
- 28. 窗口頂部的Xaml TabControl
- 29. 彈出窗口頂部?
- 30. Python Tkinter:Paned窗口不能頂到頂部
[不,你**不能**這樣做!](http://blogs.msdn.com/b/oldnewthing/archive/2011/03/10/10138969.aspx) – 2011-03-24 12:55:46
即使你可以,你的用戶會殺了你。 – 2011-03-24 12:59:31
@GameCat - 查看我對肯的回覆。 – RBA 2011-03-24 13:32:28