我有一个包含两个 TForm 类的程序,并为每个类添加了一个 TMainMenu。然后我试图在运行时动态合并它们。
我的问题是,当他们合并 TMainMenu 中合并的菜单项时,现在以合并到的形式显示存储在 imagelist 中的图像,而不是存储在原始表单的 imagelist 中的图像。
难道我做错了什么?是否有解决方法以使菜单项继续以它们起源的形式使用图像列表?
我在许多项目中使用合并形式,否则单个共享图像列表将有意义。
如果我需要澄清什么,请说。
谢谢
彼得
我有一个包含两个 TForm 类的程序,并为每个类添加了一个 TMainMenu。然后我试图在运行时动态合并它们。
我的问题是,当他们合并 TMainMenu 中合并的菜单项时,现在以合并到的形式显示存储在 imagelist 中的图像,而不是存储在原始表单的 imagelist 中的图像。
难道我做错了什么?是否有解决方法以使菜单项继续以它们起源的形式使用图像列表?
我在许多项目中使用合并形式,否则单个共享图像列表将有意义。
如果我需要澄清什么,请说。
谢谢
彼得
我处理这个问题的方法是在数据模块上有一个图像列表,然后将其包含在每个表单中,以便他们可以共享那一组图标。
不久前我遇到了完全相同的问题,但我也遇到了其他菜单合并问题,因为我的应用程序是 MDI,所以我决定以完全不同的方式做事。
但是,您可以尝试将一个表单的图像动态添加到另一个表单的 ImageList,并“重定向” ImageIndex
es。可能有点棘手,但应该可以。
我最终得到的结果是,我的所有菜单和工具栏都使用了Toolbar2000包。然后,您可以下载一段非常棒的代码,称为TB2Merge,它完全符合您的要求。它还利用 Toolbar2000 的一些基础结构将菜单项的图像链接到不同的TImageList
基础结构 --- VCL 的 TMainMenu 中不存在的基础结构。请务必彻底阅读 TB2Merge 的文档!