【发布时间】:2012-07-31 06:15:47
【问题描述】:
我在选项卡更改过程中动态创建速度按钮,我想禁用速度按钮,当它被禁用时,它不显示加载的图像。当速度按钮处于禁用状态时如何在速度按钮上显示图像。我正在使用代码 SpeedButton,SpeedButton.Glyph.LoadFromFile(Path) 和使用 SpeedButton.numGlyphs =1
【问题讨论】:
我在选项卡更改过程中动态创建速度按钮,我想禁用速度按钮,当它被禁用时,它不显示加载的图像。当速度按钮处于禁用状态时如何在速度按钮上显示图像。我正在使用代码 SpeedButton,SpeedButton.Glyph.LoadFromFile(Path) 和使用 SpeedButton.numGlyphs =1
【问题讨论】:
在 Glyph 中使用的图像最多可以包含 4 个图像,一个用于 SpeedButton 的每个状态(向上、向下、禁用、选中)。
图像在单个位图文件中彼此相邻放置,该文件用于 SpeedButton 的 Glyph 属性。使用 NumGlyphs 指示在 Glyph 中使用了多少张图片(例如,您可以只使用 2 张或仅 3 张图片)。
阅读有关 SpeedButton Glyph 属性的文档。
【讨论】:
Up,Disabled,Clicked,Down。拥有一张图像意味着它用于所有状态,两张用于Up 和Disabled,依此类推。最新文档的链接(仍然适用于 D7,因为 TSpeedButton 没有太大变化)是 here。如果只提供一个图像,VCL 会创建它的蒙版版本以用于禁用状态,该状态通常隐藏(不可见)或仅部分绘制。
DisabledImages(我已经指出与常规图像相同),因此Glyph 被自动分配。但是,它不适用于禁用的图像。将GlyphCount 设置为 1 也无济于事。