delphi - 项目中 TActionManager 组件的数量

标签 delphi tactionmanager

我在 D7 中的许多项目中使用了 TActionList,每个 TForm 都使用一个看起来相关的项目。现在,在 XE2 中启动一个新项目,用户需要一个 Ribbon,这似乎需要一个 TActionManager。

在线阅读和文档并没有让我清楚地了解如何以 TActionManager 的开发方式使用它。我的问题是:

  • 我是否应该在 ex 中只放置一个 TActionManager? TDataModule 还是我应该坚持我通常的程序,并在每个 TForm 上放置一个?
  • 我应该将其与 TActionLists 结合使用,还是仅适用于现有项目(稍后会介绍 TActionManager)?
  • 在 SDI 或 MDI 应用程序中使用 TActionManager 时需要注意什么?
  • 欢迎提供示例等链接。

谢谢

/米克尔

最佳答案

(1) 虽然从概念上讲,最好将表单上的组件限制为可视组件和与表示关系密切的组件,将所有其他组件移至数据模块,但 TActionList 和 TActionManager 是规则的异常(exception)。实际原因。如果将操作管理器放在数据模块上,并在窗体上设置操作栏,其中按钮和菜单项链接到操作管理器包含的操作,则 IDE 有时会破坏所有操作栏托管控件。为了避免挫败感,请为每个表单放置一个操作管理器。

(2) 一旦开始使用 Actionmanager,就没有理由使用 ActionList。 Action 管理器就像类固醇的 Action 列表。虽然您可以混合使用,但在一个项目中只使用一种似乎更简单。将带有 XPStyle 样式设置的操作带主菜单与老式主菜单的外观和感觉进行比较。

(3) 据我所知,在 SDI 或 MDI 应用程序中使用操作管理器没有问题。

(4) ActionBands 已有十多年历史了。以下是两位伟大的 Delphi 杰出人物创作的一些链接...

关于delphi - 项目中 TActionManager 组件的数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13776213/

相关文章:

delphi - 在 Delphi TListView 中移动 SubItemImages 的错误水平位置?

delphi - 在Delphi的单元中抛出线程

.net - .NET 是否有与 Delphi 的 VCL 组件模型等效的模型?

delphi - 如何迭代 Action 管理器中包含的 Action - Delphi 2007

delphi - 快捷方式在第一个创建的表单而不是具有焦点的表单上触发 TAction

database - 从备注字段的内容中删除特定行

ios - 带有 MacOS 的 Delphi 10.4 - 最低版本的 MacOS 和 XCode 可能吗?

delphi - 如何以编程方式将操作添加到 Delphi 2010 中的操作管理器

delphi - Action 图像更改时按钮字形未更新