Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#2

AW: TRectangle ändert in D10.4 die Farbe nicht

  Alt 10. Apr 2023, 19:27
Delphi-Quellcode:
procedure TForm2.Rectangle1Click(Sender: TObject);
begin
  Rectangle1.Fill.Color := TAlphaColorRec.Green;
  Rectangle1.Repaint; // male dich "demnächst" neu (hier wird sowas wie ein PostMessage+WM_PAINT abgesetzt)
  Application.ProcessMessages; // jetzt (und nun wird das verarbeitet)
  Sleep(2000);
  Rectangle1.Fill.Color := TAlphaColorRec.White;
end;
Aber besser, wenn man rausbekommt, wie man der Komponente oder der Form direkt sagen könnte "Das" jetzt zu machen.


[add]
Delphi-Quellcode:
procedure TForm2.Rectangle1Click(Sender: TObject);
begin
  Self.Canvas.BeginScene;
  Rectangle1.Fill.Color := TAlphaColorRec.Green;
  Rectangle1.PaintTo(Self.Canvas, Rectangle1.UpdateRect, nil); // du willst nicht wissen, wie ich hierfür auf BeginScene gekommen bin. (Tipp: kommentiere mal BeginScene/EndScene aus)
  Self.Canvas.EndScene;
  Sleep(2000);
  Rectangle1.Fill.Color := TAlphaColorRec.White;
end;
$2B or not $2B

Geändert von himitsu (10. Apr 2023 um 19:37 Uhr)
  Mit Zitat antworten Zitat