回答
如果某個操作沒有OnExecute
處理程序,則該操作始終處於禁用狀態。如果您想要將動作分配給對象,並且啓用該對象,則需要提供一個OnExecute
處理程序。
雖然這個問題聽起來有點奇怪。爲什麼你會有一個按鈕,當按下時什麼也不做?你也許,有一個OnClick
處理程序是在按鈕而不是動作中定義的?如果是這樣,那麼你應該簡單地把這個處理程序移到行動中,一切都會好的。
更新
烏爾裏希有益指出的TAction
的DisableIfNoHandler
可用於改變上述的行爲。由於這種方法具有公開的可見性並且未發佈,因此您必須對代碼進行更改,這就是爲什麼我認爲我忘記了它的原因。
謝謝!該按鈕的主要思想 - 是否被檢查(真/假)。還有其他的按鈕 - 他們有事要做:) – maxfax
@David,我想你忘了[DisableIfNoHandler](http://docs.embarcadero.com/products/rad_studio/radstudio2007/RS2007_helpupdates/HUpdate4/EN/html/delphivclwin32 /ActnList_TCustomAction_DisableIfNoHandler.html)。 –
嗯,今天我學習了一點delphi瑣事,謝謝Ulrich。 –
- 1. 德爾福:3工具按鈕 - 3框架=開關
- 2. (德爾福)query.next不工作
- 3. 德爾福鉻,Javascript按鈕按
- 4. 德爾福HID Delphi7和德爾福XE2
- 5. 轉換德爾福7代碼與德爾福2009年工作
- 6. 德爾福TChromeTabs不工作在德爾福XE
- 7. 有幾個表工作 - SQL - 德爾福
- 8. 德爾福:行動的圖像不會出現在工具按鈕上
- 9. 德爾福父窗體按鈕
- 10. 德爾福圓角邊框按鈕
- 11. 德爾福的TMonthCalendar - 禁用按鈕
- 12. 德爾福和NoSQL
- 13. 德爾福和CreateThread()
- 14. NHibernate和德爾福
- 15. 德爾福TObjectDictionary有
- 16. 德卡爾和德爾福2009年
- 17. 德爾福的動態菜單/動作
- 18. 德爾福v.Word - 如何從德爾福
- 19. 德爾福RAD工作室序列號
- 20. 德爾福:PostThreadMessage&PeekMessage不工作
- 21. 背景工作線程德爾福2010
- 22. 後臺工作者德爾福
- 23. 德爾福IDE - 如何使禁用的工具欄按鈕灰度?
- 24. 在德爾福按鈕組合框與按鈕
- 25. DLL調用在德爾福2010年工作,但在德爾福XE2視頻
- 26. 可以德爾福爲主題的工具欄有被他們的工具按鈕之間的中心分隔?
- 27. 德爾福列表視圖移動項目了按鈕
- 28. RegisterMethodInfo和RegisterParamInfo從德爾福德爾福XE同義詞2006年
- 29. 德爾福,使用idhttp自動提交按鈕
- 30. 德爾福動態數組
我猜你正在使用按鈕作爲複選框? – Kromster
如果您冒險進入動作列表的奇妙世界,我可以強烈推薦Ray Konopka(Raize組件套件的作者)的文章「有效使用動作列表」:http://edn.embarcadero.com/article/27058 He以前在他自己的網站上有三篇文章,但在embarcadero上只有一篇,但它可能是「合併」版本(沒有原文手冊)。 –
@ Marjan Venema,謝謝! – maxfax