Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Farbverlauf in Verbindung mit TLabel und/oder TBevel (https://www.delphipraxis.net/155331-farbverlauf-verbindung-mit-tlabel-und-oder-tbevel.html)

Gebhard 19. Okt 2010 10:05

Farbverlauf in Verbindung mit TLabel und/oder TBevel
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,

ich möchte für ein Programm einen Hintergrund mit Farbverlauf erstellen, was mir auch mit Hilfe von diesem Forum fast gelungen ist. Das zeichnen des Farbverlaufes wird beim Ereignis "onPaint" oder bei "onRisize" gestartet. Bei "onPaint" ist alles ok, bei "onResize" werden Label und Bevel gelöscht. Setzte ich hinter dem Funktionsaufruf zum Farbverlauf ein "Repaint" oder "Invalidate", flackert der Bildschirm. Kann mir jemand helfen?

Im Anhang habe ich ein gekürztes Demoprogramm beigelegt.

Vielen Dank für Eure Hilfe

Gebhard

Neutral General 19. Okt 2010 10:08

AW: Farbverlauf in Verbindung mit TLabel und/oder TBevel
 
Hallo,

Bist du dir sicher, dass du den Farbverlauf auch im OnResize zeichnen musst? Wird durch ein Resize nicht auch ein OnPaint ausgelöst?

Gruß
Neutral General

Satty67 19. Okt 2010 10:20

AW: Farbverlauf in Verbindung mit TLabel und/oder TBevel
 
Ich würde nicht im OnResize zeichnen, sondern alles in onPaint lassen. In onResize eher ein invalidate auslösen, was aber eigentlich von alleine passieren sollte, wie Neutral general schon schrieb.

Gebhard 19. Okt 2010 10:53

AW: Farbverlauf in Verbindung mit TLabel und/oder TBevel
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Neutral General,
hallo Satty67,

vielen Dank für Eure Antwort.

Ich muss leider onResize auslösen, weil es sonst zu Darstellungsfehlern bei einer Größenveränderung kommt. Zur Demo habe ich ein Bild beigefügt.

Gruß

Gebhard

Bummi 19. Okt 2010 10:57

AW: Farbverlauf in Verbindung mit TLabel und/oder TBevel
 
wie satty67 meinte
Delphi-Quellcode:
procedure TForm1.FormResize(Sender: TObject);
  begin
  invalidate;
//    Farbverlauf(Self);
//    Self.Repaint;
//    Application.ProcessMessages;
    end;

haentschman 19. Okt 2010 11:02

AW: Farbverlauf in Verbindung mit TLabel und/oder TBevel
 
Hallo...
selbst machen ist zwar schön, aber nicht immer effektiv.

Die Jedis haben das JvGradient. In Verbindung mit VCLFlickerReduce.pas funktioniert das ganze perfekt.

...nur so als Anregung :zwinker:

DeddyH 19. Okt 2010 11:04

AW: Farbverlauf in Verbindung mit TLabel und/oder TBevel
 
Oder mal beherzt DoubleBuffered auf true setzen.

Gebhard 19. Okt 2010 11:29

AW: Farbverlauf in Verbindung mit TLabel und/oder TBevel
 
Hallo,

vielen Dank für Eure Antworten und Eure Hilfe.

Die Kompination aus der "VCLFlickerReduce" und "...FormResize... Invalidate;..."
haben mein Problem gelöst.

Danke und Tschüs

Gebhard


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:15 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz