如何合并使用单独图像列表的TMainMenu并按每个菜单项保留正确的图像?
时间:2020-03-06 14:54:55 来源:igfitidea点击:
我有一个包含两个TForm类的程序,并且每个类都添加了一个TMainMenu。然后,我试图在运行时动态地合并它们。
我的问题是,当它们合并在TMainMenu中合并的菜单项时,现在以合并它们的形式显示存储在图像列表中的图像,而不是存储在原始表单的图像列表中的图像。
难道我做错了什么?是否有变通办法,以便菜单项继续使用其原始形式的图像列表?
我在许多项目中使用了合并形式,否则一个共享的图像列表将是有意义的。
如果我需要澄清任何事情,请说。
谢谢
彼德
解决方案
我处理此问题的方法是在数据模块上有一个图像列表,然后以每种形式包括该图像列表,以便它们可以共享该单组图标。
不久前我遇到了完全相同的问题,但是由于我的应用程序是MDI,所以我也遇到了其他菜单合并问题,因此我决定以完全不同的方式进行操作。
但是,我们可以尝试将一种形式的图像动态添加到另一种形式的ImageList中,并"重定向"ImageIndex
es。可能有些棘手,但应该可以。
最终,我将所有菜单和工具栏都使用了Toolbar2000软件包。然后,我们可以下载一段非常漂亮的代码,称为TB2Merge,它可以完全满足要求。它还利用Toolbar2000的某些基础结构将菜单项的图像链接到VCL的TMainMenu中不存在的其他" TImageList"(基础结构)。确保彻底阅读TB2Merge的文档!