I'm having problems with incorrectly painted corners when drawing window elements in VCL style. In styles that have rounded corners, I get a white background in the space between the bounding box of the control and the rounding angle of the style window.

The above image was made using the Aqua Light Slate, but any style with rounded corners will show the same problem. What am I missing?
type TSample = class(TCustomControl) protected procedure Paint; override; end; { TForm1 } procedure TForm1.FormCreate(Sender: TObject); var R: TRect; S: TSample; begin R := ClientRect; InflateRect(R, -20, -20); S := TSample.Create(Application); S.Parent := Self; S.BoundsRect := R; end; { TSample } procedure TSample.Paint; var Details: TThemedElementDetails; begin Details := StyleServices.GetElementDetails(twCaptionActive); StyleServices.DrawParentBackground(Self.Handle, Canvas.Handle, Details, False); StyleServices.DrawElement(Canvas.Handle, Details, ClientRect); end;
source share