Online
Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
Delphi 12 Athens
|
AW: TRectangle ändert in D10.4 die Farbe nicht
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;
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
Geändert von himitsu (10. Apr 2023 um 19:37 Uhr)
|