I like to control the color and shape of buttons on my apps. I've written the attached TCustomPanel descendant OvalButton component that works well, but I am very open to suggestions for improvement.
One of the issues I had to deal with is wrapping text. The sysutils WrapText function did not work for me but I found a very nice WrapText function on line that seems to work very well, and it's included in the component's PAS file.
The amount of rounding in each corner is controlled by the "Rounding" property.
Comments welcomed.