My fake TSpeedButton based on TBitBtn has been updated again. It now supports any combination of Glyph and single/multi line Text. It also supports setting Margin and Spacing.
Note that it still requires the Glyph to be on the left.
(Yes, I know, I should have selected some examples where the text does actually fit the button. ;-). But this is just the same problem as in the original TBitBtn control, I even fixed some if its bugs.)
(Click on the image to view an animated demo.)
Also, the original BitBtn object is now exposed via a read only property and there is a new pointer type Data property to attach some additional information to the object.
In addition I added a new class TdzSpeedBitBtnGroup which easily emulates the behaviour of a TRadioGroup using TdzSpeedBitBtns.
The source code is part of my dzlib library which is available from OSDN.