Abgleitet von einem TSpeedButton funktioniert mein code in einer klasse:
Code:
procedure TSpecButton.Paint;
var r : TRectF;
begin
inherited;
r := ClipRect;
canvas.BeginScene;
canvas.Fill.Kind := TBrushKind.Solid;
canvas.Stroke.Kind := TBrushKind.Solid;
canvas.FillRect(r, 0,0, AllCorners, TAlphaColors.White);
canvas.Stroke.Color := TAlphaColors.Blue;
canvas.Fill.Kind := TBrushKind.None;
InflateRect(r,-1, -1);
canvas.DrawRect(r, 0, 0, AllCorners, 100);
canvas.EndScene;
end;
Ich könnte mir aber vorstellen, dass ClearRect, wie in dem original code verwendet, manchmal anders funktioniert. Soweit ich verstanden habe ist dies eigentlich für bitmaps gedacht - ich habe es zumindest nie verwendet.