如何覆盖绘制 TBitBtn 字形?
How to override drawing TBitBtn Glyph?
在编写继承自 TBitBtn
的自定义控件时,我正在寻找一种方法来覆盖或拦截仅绘制字形并自己绘制字形,而不必重绘整个控件.我广泛使用 VCL 样式,并希望避免重新创建所有绘图和样式挂钩等。不幸的是,我在 TBitBtn
中找不到任何允许这样做的东西。
如何截取 TBitBtn.Glyph
的绘图并将字形绘制到按钮 canvas 上,同时保留控件的所有自然样式绘图?
TBitBtn
控件使用TButtonGlyph
class绘制字形,不幸的是none绘制相关方法(TButtonGlyph.DrawButtonGlyph
,TButtonGlyph.Draw
) 被标记为虚拟。 因此,为了仅更改绘制字形的方式,您可以绕道修补 TButtonGlyph.DrawButtonGlyph
或 ButtonGlyph.Draw
过程。
在编写继承自 TBitBtn
的自定义控件时,我正在寻找一种方法来覆盖或拦截仅绘制字形并自己绘制字形,而不必重绘整个控件.我广泛使用 VCL 样式,并希望避免重新创建所有绘图和样式挂钩等。不幸的是,我在 TBitBtn
中找不到任何允许这样做的东西。
如何截取 TBitBtn.Glyph
的绘图并将字形绘制到按钮 canvas 上,同时保留控件的所有自然样式绘图?
TBitBtn
控件使用TButtonGlyph
class绘制字形,不幸的是none绘制相关方法(TButtonGlyph.DrawButtonGlyph
,TButtonGlyph.Draw
) 被标记为虚拟。 因此,为了仅更改绘制字形的方式,您可以绕道修补 TButtonGlyph.DrawButtonGlyph
或 ButtonGlyph.Draw
过程。