我在让TToolbar按钮显示“启用”
时遇到问题该按钮分配了一个Action - 由OnClick事件触发
它还设置了一个下拉菜单,它有2个选项,两个选项都已启用,并且在点击时都会触发。
尽管如此,TToolbar Button仍然保持灰色,但接受点击。
有什么建议吗?
答案 0 :(得分:3)
你做错了。 : - )
使用操作时,您不使用按钮的OnClick
事件 - 您将代码放在操作的OnExecute
事件中(因为这是正在执行的操作 - 操作 - 而不是按钮)。将操作分配给控件后,只有TAction.OnExecute
的处理程序才能启用该控件。
使用操作的原因是您可以将代码放在一个位置(与操作相关的事件),然后附加到该操作的每个控件都使用该公共代码来执行相同的功能。编辑该单个位置中的代码意味着附加到该操作的所有控件都会看到相同的更改。
如果TAction.OnExecute
事件没有附加任何内容,则控件如果被选中(单击)则无需执行任何操作,因此没有理由首先启用它。
答案 1 :(得分:0)
万一有人遇到这个问题,我只是遇到了这个问题(使用Delphi 10.2 Tokyo)。
由于某种原因,当设置为true时,TToolButton的“ EnableDropdown”属性导致该按钮显示为灰色。将此属性设置为false似乎已经解决了我的问题(下拉菜单仍然可以正常工作)。