请参阅附带的屏幕截图,其中显示了我的一个程序中的TToolBar:

注意工具栏的最后两个图像,它们被禁用.它们被绘制为显示禁用的方式并不是很吸引人,事实上在Delphi IDE中,一些图像看起来是一样的.
我遇到的问题是我希望我的应用程序看起来更清洁.绘制禁用项目的方式看起来不太好.TToolBar允许设置一个禁用的TImageList,我尝试将我的图像设置为黑白但是它们看起来不正确,而且不必总是使图像变为黑白(时间和精力).此问题也出现在我的菜单和弹出菜单中,无论如何都不允许禁用图像.
有没有办法画出残疾人物品以便在眼睛上看起来更好?
如果可能的话,我宁愿不使用第三方控制.我知道Jedi组件允许禁用图像的菜单等,但更喜欢一种方法,不要求助于第三方组件,如果可能的话我更喜欢使用标准问题VCL,特别是因为有时我使用TActionMainMenuBar来绘制Office风格菜单,当DrawingStyle设置为渐变时匹配TToolBar.
编辑
我接受了RRUZ的回答,虽然接受David的回答也是可能的,两者都是非常好的答案,并且如果可能的话,他们希望在他们之间分享答案.
谢谢.
Delphi 2010,Win32 VCL.我需要以最标准的外观为我的应用程序创建一个主菜单.TMainMenu在所有Windows版本中看起来都不错,唯一不好的是当它显示具有Enabled = False的项目的图像时.
Delphi有一些奇怪的方法来构建禁用的图像(使用斜面进行b/w挤出,对我来说它看起来像是喷出).我想在VCL源代码中为该过程制作一个补丁,让菜单从同一个TImageList中选择禁用的图像,但我找不到它.
它是否存在或者是一些标准的Windows API调用?你知道那个程序在哪里吗?
当然OwnerDraw风格可以修复所有这些,但我想要更快的解决方案.
我正在标签更改过程中动态创建速度按钮,我想禁用速度按钮,当它被禁用时,它不显示加载的图像。如何在禁用状态下在速度按钮上显示图像。我正在使用代码 SpeedButton,SpeedButton.Glyph.LoadFromFile(Path) AND USING SpeedButton.numGlyphs =1