Hallo zusammen,
ich möchte für eine von TPanel abgeleitete Komponente den Hintergrund zeichnen. Siehe angefügten Quelltext. Die Ränder werden wie erwartet richtig gezeichnet, der Hintergrund bleibt weiß.
Habe alles mögliche versucht, der Hintergrund wird nicht farbig. Kann da jemand helfen?
Delphi-Quellcode:
TFarbQuadrat = class(TPanel)
private
FColor: TAlphaColor;
protected
procedure SetColor(aColor: TAlphaColor);
procedure Paint; override;
procedure Click; override;
public
constructor Create(aOwner : TComponent); override;
destructor Destroy; override;
property Color: TAlphaColor read FColor write SetColor;
end;
procedure TFarbQuadrat.Paint;
begin
inherited;
Canvas.BeginScene;
// Hintergrund malen
Canvas.Fill.Kind := TBrushKind.Solid;
Canvas.Fill.Color := Color;
Canvas.FillRect(LocalRect, 1);
Canvas.EndScene;
Canvas.BeginScene;
// Rahmen malen
Canvas.Stroke.Kind := TBrushKind.Solid;
Canvas.Stroke.Color := claBlack;
if IsFocused
then begin Canvas.Stroke.Thickness:=3; end
else begin Canvas.Stroke.Thickness:=1; end;
Canvas.DrawRect(LocalRect, 1);
Canvas.EndScene;
end;