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

在线阅读文档并不使我对如何以开发方式使用TActionManager产生清晰的认识。我的问题是:


我应该只在ex中放一个TActionManager吗? TDataModule还是我应该坚持我的通常程序,并在每个TForm上放一个?
我应该将它与TActionLists一起使用,还是仅用于现有项目,稍后再介绍TActionManager?
在SDI或MDI应用程序中使用TActionManager时要注意什么?
链接到示例等。


谢谢,

/米克尔

最佳答案

(1)尽管从概念上讲,最好将表单上的组件限制为可视组件和与表示紧密相关的组件,将所有其他组件移至数据模块,但出于实际原因,TActionLists和TActionManagers是该规则的例外。如果将动作管理器放在数据模块上,并在窗体上具有动作栏,该动作栏具有链接到该动作管理器所包含动作的按钮和菜单项,则IDE有时会破坏您所有的动作栏托管控件。为了节省挫败感,请为每种表单放置一个动作管理器。

(2)一旦开始使用Actionmanagers,就没有理由使用ActionLists。动作管理器就像是立体动作列表。虽然可以混合使用,但在项目中仅包含所有一种似乎更简单。将动作带主菜单的外观和XPStyle样式设置与老式主菜单进行比较。

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

(4)ActionBand已有十多年的历史了。以下是创作两个Delphi杰出人物的链接。


http://www.blong.com/Conferences/DCon2001/Actions/Actions.htm
http://www.stevetrefethen.com/wiki/Default.aspx?Page=Delphi%20ActionBand%20FAQ
http://cc.embarcadero.com/Item/19272

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

10-11 15:30