Количество компонентов TActionManager в проекте
Я использовал TActionLists в D7 для многих проектов, по одному для каждой TForm, где это казалось уместным. Теперь, начиная новый проект i XE2, пользователям требуется лента, которая, кажется, требует TActionManager.
Чтение онлайн и документации не дает мне четкого представления о том, как использовать TActionManager в том виде, в котором он был разработан. Мои вопросы:
- Я должен поставить только один TActionManager в бывшей. TDataModule или я должен придерживаться моей обычной процедуры, и поставить один на каждый TForm?
- Должен ли я использовать его в сочетании с TActionLists или это только для существующих проектов, где TActionManager будет представлен позже?
- Что-нибудь, о чем следует знать при использовании TActionManager в приложениях SDI или MDI?
- Ссылки на примеры и т. Д. Приветствуются.
Спасибо,
/ Миккель
1 ответ
(1) Хотя концептуально, предпочтительно ограничить компоненты в формах визуальными компонентами и компонентами, которые очень тесно связаны с представлением, перенося все остальные в модули данных, TActionLists и TActionManager являются исключением из правила по практической причине. Если вы поместите actionmanager в модуль данных и на форме есть панели действий с кнопками и пунктами меню, связанными с содержащимися в actionmanager действиями, то среда IDE иногда разрушит все элементы управления, размещенные на панели действий. Чтобы сохранить разочарование, поместите один actionmanager каждой формы.
(2) Как только вы начнете использовать Actionmanagers, нет причин использовать ActionLists. Actionmanager - это как список действий на стероидах. В то время как вы могли бы иметь микс, кажется, проще иметь всего одного вида в проекте. Сравните внешний вид главного меню actionband с настройкой стиля XPStyle со старомодным главным меню.
(3) Нет проблем с использованием диспетчера действий в приложениях SDI или MDI, о которых я знаю.
(4) ActionBands уже более десяти лет. Вот несколько ссылок, написанных двумя великими светилами Delphi...