我正在使用Delphi。我準備好彈出式菜單,並在要點擊的子菜單中,但我不希望彈出式菜單消失。我想點擊並保持它。如何讓菜單在被點擊後保持可見狀態?
3
A
回答
1
我不知道你怎麼能做到這一點,但TAdvStickyPopupMenu組件(TMS軟件)可以做到這一點。
2
簡單的一個,禁用該項目。 < g>
開玩笑,不是一件容易的事。
如果您想讓彈出式菜單像最頂級的表單那樣工作(也就是說您既可以與表單上的項目進行交互,也可以與表單上的控件進行交互,而無需停用菜單),那麼就不要使用標準來完成這項工作菜單。
但是,如果您的要求與您的問題中所述完全相同(單擊一個項目,菜單未關閉 - 單擊外部並關閉),但有一些工作,這將是可能的。
您的目標是subclass您的子菜單將駐留的窗口覆蓋一些消息處理。首先,從'TPopupList'派生一個新類並重寫它的'WndProc'。這是一個example這樣做。
如果您打算通過選擇根項目來阻止菜單關閉,那麼在PopupList的WndProc中,您將處理WM_ENTERIDLE並從消息的lParam中獲取彈出菜單的窗口句柄,並從彈出菜單的窗口中獲取子類。
如果您只打算通過選擇子菜單項來阻止菜單關閉,那麼在PopupList的WndProc中,您會看到WM_INITMENUPOPUP消息,其中wParam不是PopupMenu本身的句柄,這意味着子菜單即將顯示。只有這樣你才能處理WM_ENTERIDLE,並獲得子菜單所在的窗口句柄並將該窗口繼承下來。
在子類化彈出式菜單或彈出子菜單所在的窗口後,您將攔截未記錄的'MN_BUTTONDOWN'($ 01ED)消息並阻止進一步處理(不調用原始窗口過程)。可能你也想防止用鍵盤關閉菜單;你會注意WM_KEYDOWN(Enter)和WM_CHAR(加速器)消息。
那麼,我會猜測一些工作。
相關問題
- 1. 如何讓menuItem在javaFX中單擊菜單後保持可見狀態?
- 2. 如何使MDL菜單在點擊後保持打開狀態?
- 3. 如何使菜單保持可見父/子已被點擊
- 4. 如何讓css按鈕在點擊後保持活動狀態?
- 5. 垂直菜單顯示點擊菜單保持打開狀態
- 6. 讓UIButton在點擊後保持突出狀態
- 7. 懸停主菜單時可見子菜單,但在懸停子菜單時需要保持可見狀態
- 8. 如何在鼠標懸停後讓子菜單div保持(可見)?
- 9. 保持jquery菜單打開後點擊
- 10. 在最後點擊的菜單項上保留懸停狀態
- 11. 如何讓彈出式菜單項保持活動狀態?
- 12. 點擊子菜單必須保持打開狀態
- 13. FAB操作可能在點擊後保持打開狀態嗎?
- 14. 如何保持錨在相同的狀態爲:點擊後懸停狀態?
- 15. 如何在點擊子菜單時保持菜單打開?
- 16. 如何使圖像按鈕在點擊後保持點擊狀態
- 17. 頁面重新加載後,菜單活動狀態保持點擊鏈接
- 18. 我點擊提交後保持PHP表單文本可見
- 19. 點擊時保持在懸停狀態
- 20. 解決! Jquery下拉菜單。點擊時子菜單消失。那麼,如何讓子菜單保持點擊狀態?
- 21. 單擊後如何保持標題屬性值可見?
- 22. 單擊發送鍵後,您如何保持鍵盤可見
- 23. 如何讓菜單項可點擊並在點擊android後顯示烤麪包?
- 24. 始終保持最佳狀態的可點擊的表單
- 25. Superfish:點擊後如何保持子菜單打開
- 26. 多個基於CSS和jQuery的下拉菜單在點擊另一個菜單後保持打開狀態
- 27. 如何讓當前日期在datePicker插件中保持不可見狀態?
- 28. 如何讓隱藏的div在jQuery懸停時保持可見狀態?
- 29. Java JFrame在可見狀態下保持焦點
- 30. 工具提示在點擊圖片按鈕時保持可見狀態
彈出窗口從托盤圖標出來。我不知道如何在托盤組件上使用TAdvStickyPopupMenu – user332443 2010-05-04 18:36:45
這就是它的工作原理:首先,您必須爲TMS軟件付出一筆不小的財富。你可能不想這樣做。故事結局。 – stevenvh 2017-07-25 12:45:03