Einzelnen Beitrag anzeigen

sko1

Registriert seit: 27. Jan 2017
588 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#1

FillRect mit weißer Farbe funktioniert nicht!

  Alt 19. Mär 2018, 07:42
Hallo,
in einer eigenen Komponente (von TSpeedButton abgeleitet) möchte ich einen blauen Rahmen mit weißem Inhalt haben.

Also habe ich im Paint der Komponente folgendes stehen:

Delphi-Quellcode:
procedure TTerminButton.Paint;
var
  b, h: single;
begin
  inherited;
  b := Width;
  h := Height;
  canvas.BeginScene;
  canvas.Fill.Kind := TBrushKind.Solid;
  canvas.Stroke.Kind := TBrushKind.Solid;
  canvas.ClearRect(RectF(0, 0, b, h), TAlphaColors.White);
  canvas.Fill.Color := TAlphaColors.Blue;
  canvas.Stroke.Color := TAlphaColors.Blue;
  canvas.FillRect(RectF(1, 1, b - 1, h - 1), 0, 0, AllCorners, 100);
//innen
  canvas.Fill.Color := TAlphaColors.White;
  canvas.Stroke.Color := TAlphaColors.White;
  canvas.FillRect(RectF(2, 2, b - 2, h - 2), 0, 0, AllCorners, 100);
  canvas.EndScene;
aber der Hintergrund ist so grau wie das darunterliegende Panel mit einem GridPanelLayout, auf dem meine Buttons sitzen.
Nehme ich für innen eine andere Farbe (gelb, rot, etc.) funktioniert das korrekt!

Warum zum teufel funktioniert weiß nicht?

Ciao
Stefan
  Mit Zitat antworten Zitat