Einzelnen Beitrag anzeigen

Benutzerbild von bytecook
bytecook

Registriert seit: 6. Aug 2010
Ort: Dornbirn
151 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: FillRect mit weißer Farbe funktioniert nicht!

  Alt 19. Mär 2018, 09:51
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
Hi Stefan,

füll das Weiß mit Fillrect, oder nimm als Füllfarbe mal $FFFFFFFF statt TAlphaColors.White ...

Gruß,

Peter
Peter
Was mache ich, wenn ein Bär meine Frau angreift?
Nichts. Er hat sie angegriffen, soll er doch selber sehen, wie er sich verteidigt.
  Mit Zitat antworten Zitat