Про категории в TActionList

Posted by on in Blogs

Вот более развернутый ответ на а слабо Вальдемарурац. предложение касаемое подкатегоий.

Подкатегории

Теперь, если в названии категории используется ".", то в редакторе списка действий они изображаются в виде дерева. Число уровней вложенности ограничено, поэтому если раньше кто-то активно использовал точки в названиях категорий, то в новой версии не получится излишнего ветвления.

Добавлены также новые пункты меню (Change Multiple Actions), которые позволяют быстро изменить свойства Enabled и Visible.

  • Если вызвать контекстное меню в правой половине редактора, то будут изменены свойства у всех выделенных действий.
  • Если вызвать контекстное меню в левой половине редактора, то будут изменены свойства у всех действий данной категории и всех её подкатегорий.

Добавлен также метод TContainedActionList.EnumByCategory, который позволяет вызвать анонимный метод TEnumActionListRef для всех действий указанной категории (и всех подкатегорий).
TEnumActionListRef = reference to procedure(const Action: TContainedAction; var Done: boolean);
Если аргументу Done присвоить значение True, то перечисление действий прервется и EnumByCategory вернет True, во всех остальных случаях возвращается False.

TEnumActionListRef выполняется для всех подходящих действий на момент вызова EnumByCategory. Т.е. если вы поменяете название категории внутри метода TEnumActionListRef это не повлияет на процесс перечисления.

Для названий категорий могут использоваться национальные символы, регистр игнорируется. Всё выше указанное относится и к VCL и к FM.



Comments

Check out more tips and tricks in this development video: