У меня есть форма, большая часть ее функций реализована с использованием стандартного TAction. У меня есть меню, панель инструментов и некоторые кнопки. Я реализовал копирование / вставку буфера обмена вообще без кода, просто используя действия TEditCopy и TEditPaste. Он отлично работает в коробках TEdit и TMemo, которые у меня есть.
Теперь я хочу, чтобы он работал и с TListBox. В частности, я хочу иметь возможность копировать выбранный элемент списка в TListBox, используя те же самые элементы меню, сочетания клавиш и кнопки инструментов.
Итак, я считаю, что мне нужно будет расширить действие TEditCopy. Но это не кажется мне очень прямым. В частности, TEditAction проверяет, является ли сфокусированный элемент управления элементом управления TCustomEdit, а не TListBox. Я немного боюсь, что это будет слишком много работы.
Очевидная альтернатива - просто забыть о стандартных действиях и реализовать копию в буфер обмена в методе OnExecute универсального TAction.
Но, прежде чем сдаться, есть ли у вас какая-то идея, подсказка или хитрость, которая поможет мне расширить стандартное действие TEditCopy?