Delphi: ToolButton & Action - смешно - PullRequest
       15

Delphi: ToolButton & Action - смешно

1 голос
/ 10 августа 2011

У меня есть кнопка инструмента и назначенное ей действие. Но действие не имеет события нажатия, нет кода для щелчка. Для этого кнопка отключена, как изменить ее на включенную?

Спасибо!

1 Ответ

8 голосов
/ 10 августа 2011

Если у действия нет обработчика OnExecute, оно всегда отключено. Если вы хотите назначить действие объекту и включить этот объект, вам необходимо предоставить обработчик OnExecute.

Вопрос звучит немного странно, хотя. Зачем вам кнопка, которая при нажатии ничего не делает? Возможно, у вас есть обработчик OnClick, который определен в кнопке, а не в действии? Если это так, то вам следует просто переместить этот обработчик в действие, и все будет хорошо.

Обновление

Ульрих старательно указывает, что DisableIfNoHandler из TAction можно использовать для изменения поведения, описанного выше. Поскольку это общедоступно и не публикуется, вы должны внести изменения в код, поэтому я думаю, что забыл об этом.

...