【发布时间】:2015-07-19 06:59:54
【问题描述】:
我有一个应用程序,其中使用了许多分层菜单项,每个菜单项都有一个与之关联的文本模板。一切都是在设计时制作的,因此菜单项和文本模板是不变的。在应用程序上,在选择MenuItem时,相关文本模板将插入Synedit Control。
设计这个的好方法是什么?我的想法是,如果我想更改/添加/删除项目,通过 IDE 插入每个菜单项很麻烦而且不是很友好,而且它们有很多..
【问题讨论】:
-
您可以在 DFM 文件中手动添加/编辑/删除菜单项
-
@Krom - 由于每个菜单项都连接到某个文本对象(模板),我想也许对项目使用类会更好,但我不知道如何有效地做到这一点。也可能文本模板可以以某种方式创建为常量字符串。
-
您特别提到在运行时不会发生任何变化。所以很难看出什么会使 dfm 的直接编辑效率低下。 (如果你甚至需要走那么远。)菜单已经是相当基本的结构。你不能用它们做那么多,而设计师已经很高效了。也许如果我们对您如何使用文本模板有更好的了解,您的担忧可能会更有意义。
-
好的,如果我理解正确的话:您的菜单可以由一组名称-值对表示;其中 name 代表一个标题,而 value 是一个文本块?除此之外,您希望您的菜单采用分层结构吗?可能是多层次的? ......如果是这样,并且有足够的理由证明这一点:我可能会将数据存储在一个简单的外部文件中。清楚地识别具有层次结构信息的菜单项:例如:
#Menu: L1 Caption|L2 Caption|Leaf Caption,后跟其模板的文本。 您可以将文件作为资源嵌入到您的应用中,并且非常容易编辑。 -
根据文件动态构建菜单应该相当简单。