Add new comment

What I can't understand is what this code is doing:

if Transparent then
ThemeServices.DrawParentBackground(0, Canvas.Handle, nil, False)

My logic is as follow:
We are in the Paint method so the Invalidate method have just called and since Transparent = True - csOpaque is not in ControlStyle and InvalidateRect in Invalidate is called with bErase = True so the background is erased, TSpeedButton is a TGraphicComtrol and in this moment we see what is underneath.

Please, explain me what I lose?