Delphi

Actionmanager delphi: Меню и панели на основе Action в Delphi » DelphiComponent.ru

Delphi: ActionList против ActionManager | Советы инженера

администратор

ActionList — более старый и простой контейнер действий.

Компонент ActionManager , изначально представленный в Delphi 6, имеет дополнительные параметры, позволяющие создавать и управлять пользовательским интерфейсом для действий. Помимо набора действий, у ActionManager есть набор панелей инструментов и привязанных к ним меню. Компоненты этой архитектуры включают в себя, помимо самого компонента ActionManager, 9Элемент управления 0009 ActionMainMenuBar , элемент управления ActionToolBar , компонент PopupActionBar и компонент CustomizeDlg , которые позволяют конечным пользователям настраивать пользовательский интерфейс.

Нравится:

Нравится Загрузка. ..

Категории: Delphi/Pascal, Программирование Искать:

Vultr Cloud VPS и выделенные серверы
Высокопроизводительное хранилище SSD

Начните бесплатно с кредитами в размере 100 долларов США

Если у вас есть вопросы, свяжитесь со мной!

  • Бизнес (15)
  • База данных (40)
    • MySQL/MariaDB (26)
    • NoSQL (1)
    • Оракул (3)
    • SQL (14)
  • Электроника (106)
    • ПЛИС (5)
  • Машиностроение (16)
  • Английский (44)
  • Игры (12)
  • Общий (1)
  • Юмор (99)
  • Сеть/Интернет (161)
  • Операционные системы (222)
    • Андроид (2)
    • ДОС (5)
    • GNU/Linux (104)
    • Mac OS (10)
    • Окна (121)
  • Программирование (504)
    • С/С++/С# (10)
    • Дельфи/Паскаль (349)
    • HTML и CSS (22)
    • Javascript (20)
    • МАТЛАБ (6)
    • OpenGL (1)
    • филиппинских песо (54)
    • Питон (6)
    • Visual Basic (3)
    • Xкод (2)
  • Научные материалы (23)
    • Искусственный интеллект (8)
  • Программное обеспечение (78)
    • Фотошоп (14)
  • Свяжитесь со мной
  • Vultr Обзор
  • Фатих Рамазан Чикан
  • Код купона Namesilo
  • NxNet2
  • Тех433
Архивы Выберите месяц Февраль 2023 (8) Январь 2023 (18) Декабрь 2022 (6) Ноябрь 2022 (11) Октябрь 2022 (9)) Сентябрь 2022 г. (7) Август 2022 г. (13) Июль 2022 г. (12) Июнь 2022 г. (5) Май 2022 г. (12) Апрель 2022 г. (9) Март 2022 г. (4) Февраль 2022 г. (11) Январь 2022 г. (14) Декабрь 2021 г. (14) ) ноябрь 2021 (14) октябрь 2021 (17) сентябрь 2021 (17) август 2021 (24) июль 2021 (19) июнь 2021 (12) май 2021 (13) апрель 2021 (13) март 2021 (10) февраль 2021 (11) ) Январь 2021 г. (23) Декабрь 2020 г. (16) Ноябрь 2020 г. (9) Октябрь 2020 г. (22) Сентябрь 2020 г. (10) Август 2020 г. (8) Июль 2020 г. (24) Июнь 2020 г. (25) Май 2020 г. (17) Апрель 2020 г. (23) ) Март 2020 (13) Февраль 2020 (11) Январь 2020 (26) Декабрь 2019(29) ноябрь 2019 г. (16) октябрь 2019 г. (9) сентябрь 2019 г. (9) август 2019 г. (9) июль 2019 г. (18) июнь 2019 г. (4) май 2019 г. (16) апрель 2019 г. (8) март 2019 г. (12) февраль 2019 г. (9) январь 2019 г. (9) декабрь 2018 г. (14) ноябрь 2018 г. (4) октябрь 2018 г. (15) сентябрь 2018 г. (9) август 2018 г. (9) июль 2018 г. (11) июнь 2018 г. (13) май 2018 г. (10) апрель 2018 г. (16) март 2018 г.
(8) февраль 2018 г. (3) январь 2018 г. (6) декабрь 2017 г. (4) ноябрь 2017 г. (3) октябрь 2017 г. (2) сентябрь 2017 г. (13) август 2017 г. (7) июль 2017 г. (14) июнь 2017 г. (7) май 2017 г. (5) апрель 2017 г. (3) март 2017 г. (8) февраль 2017 г. (6) январь 2017 г. (5) декабрь 2016 г. (4) ноябрь 2016 г. (5) октябрь 2016 г. (2) сентябрь 2016 г. (14) август 2016 г. (2) июль 2016 г. (10) июнь 2016 г. (6) май 2016 г. (15) апрель 2016 г. (14) февраль 2016 г. (1) январь 2016 г. (1) декабрь 2015 г. (10) ноябрь 2015 г. (5) октябрь 2015 г. (10) сентябрь 2015 г. (5) август 2015 г. (6) июль 2015 г. (5) июнь 2015 г. (4) май 2015 г. (8) апрель 2015 г. (13) март 2015 г. (20) февраль 2015 г. (5) ) Январь 2015 г. (8) Декабрь 2014 г. (5) Ноябрь 2014 г. (6) Октябрь 2014 г. (7) Сентябрь 2014 г. (2) Август 2014 г. (1) Июль 2014 г. (3) Июнь 2014 г. (2) Май 2014 г. (1) Апрель 2014 г. (6) ) март 2014 г. (2) февраль 2014 г. (1) январь 2014 г. (4) декабрь 2013 г. (3) ноябрь 2013 г. (2) апрель 2013 г. (1) март 2013 г.
(1) февраль 2013 г. (1) январь 2013 г. (3) ноябрь 2012 г. (1) ) Октябрь 2012 г. (1) Август 2012 г. (1) Март 2012 г. (2) Февраль 2012 г. (1) Январь 2012 г. (3) Октябрь 2011 г. (6) Сентябрь 2011 г. (8)

Искусственный интеллект Бизнес C/C++/C# База данных Delphi/Pascal DOS Разработка электроники Английский FPGA Игры GNU/Linux HTML и CSS Юмор Javascript Mac OS MATLAB MySQL/MariaDB Сеть/Интернет Операционные системы Oracle Photoshop PHP Программирование Python Science Stuff Программное обеспечение SQL Visual Basic Windows

Следуйте советам инженера на WordPress.com

Как программно добавить действия в диспетчер действий в Delphi 2010

спросил

Изменено 10 лет, 1 месяц назад

Просмотрено 3к раз

Я пытаюсь динамически добавлять элементы действий, я могу добавить элемент, и он работает, когда я делаю следующее:

 HostActionItem := ActionManager.
ActionBars[0].Items[0].Items[2]; НовыйЭлемент := HostAction.Items.Add; НовыйЭлемент.Действие := MyActionToPerform; NewItem.Caption := Описание; НовыйЭлемент.ИндексИзображения := 1; НовыйЭлемент.Тег := 13;

Однако, когда срабатывает метод Execute действия, я пытаюсь получить ActionComponent из объекта Sender следующим образом:

 if (Sender is TAction) then
  тег := (Отправитель как TAction).ActionComponent.Tag;
 

Но ActionComponent всегда равен нулю. Почему ActionComponent не инициализируется?

  • delphi
  • delphi-2010
  • taction
  • tactionmanager

2

короткий ответ:

Вы ожидаете, что TActionClientItem будет отображаться как ActionComponent из TAction . Этого не произойдет, поскольку TActionClientItem не происходит от

TComponent .

более длинный ответ:

Я полагаю, вы добавляете свой элемент в строку меню. Кажется, так задумано, что TAction , связанный с пунктом меню, не будет поддерживать ActionComponent 9.0181 . Элементы строки меню имеют тип TActionClientItem . Это «предмет коллекции», а не «компонент». Следовательно, меню не может заполнить параметр ActionComponent пунктом меню при вызове метода Execute ссылки действия выбранного элемента. Если это звучит запутанно, я думаю, приведенные ниже цитаты из источника VCL прояснят ситуацию:

TBasicActionLink.Execute method:

 function Execute(AComponent: TComponent = nil): Boolean; виртуальный;
 

Переданный компонент назначается FAction.ActionComponent перед его выполнением.

Как это вызывается из TCustomActionMenuBar.ExecAction :

 FSelelectItem.ActionLink.Execute;
 

Что касается вопроса в заголовке, я не думаю, что вы делаете что-то неправильно, за исключением установки Caption и ImageIndex для TActionClientItem , поскольку это заголовок TAction и изображение, которое будет показано.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *