TMainMenu丑陋的"禁用"图像

And*_*rew 13 delphi vcl menu menuitem delphi-2010

Delphi 2010,Win32 VCL.我需要以最标准的外观为我的应用程序创建一个主菜单.TMainMenu在所有Windows版本中看起来都不错,唯一不好的是当它显示具有Enabled = False的项目的图像时.

Delphi有一些奇怪的方法来构建禁用的图像(使用斜面进行b/w挤出,对我来说它看起来像是喷出).我想在VCL源代码中为该过程制作一个补丁,让菜单从同一个TImageList中选择禁用的图像,但我找不到它.

它是否存在或者是一些标准的Windows API调用?你知道那个程序在哪里吗?

当然OwnerDraw风格可以修复所有这些,但我想要更快的解决方案.

Rod*_*ddy 22

Galfar的Lair博客上有一篇很好的文章描述了这个问题,并且有一个解决方法的代码,覆盖了TImageList DoDraw方法.

这是显示'之前'和'之后'的图片(链接).

替代文字

我认为这与几乎所有Delphi版本有关.