我有一个包含两个TForm类的程序,并且每个程序都添加了一个TMainMenu。然后我尝试在运行时动态合并它们。
我的问题是,当他们合并TMainMenu中合并的菜单项时,现在以合并的形式显示存储在图像列表中的图像,而不是存储在其原始形式的图像列表中的图像。
我做错了吗?是否有一个解决方法,以便菜单项继续使用它们源自的形式的图像列表?
我在许多项目中使用合并形式,否则单个共享图像列表会有意义。
如果我需要澄清任何事情,请说。
由于
彼得
答案 0 :(得分:8)
我处理这个的方法是在数据模块上有一个图像列表,然后在每个表单中包含它,以便它们可以共享那一组图标。
答案 1 :(得分:3)
前一段时间我遇到了完全相同的问题,但我也遇到了其他菜单合并问题,因为我的应用程序是MDI,所以我决定以完全不同的方式做事。
但是,您可以尝试将一个表单的图像动态添加到另一个表单的ImageList,并“重定向”ImageIndex
es。可能有点棘手,但应该有用。
我最终得到的是,Toolbar2000包用于我的所有菜单和工具栏。然后,您可以下载一段非常好的代码,名为TB2Merge,它可以完全满足您的需求。它还利用Toolbar2000的一些基础设施将菜单项的图像链接到VCL的TMainMenu中不存在的不同TImageList
---基础设施。务必仔细阅读TB2Merge的文档!