![]() |
TPanel mit Farbverlauf
guten Abent,
ich habe da mal eine kleine Frage gibt es eine möglichkeit einem TPanel einen Farbverlauf zuzuweisen? Es gibt ja eine Funktion die das über TCanvas macht aber ein TPanel hat keinen Canvas, mit einer Form funktioniert das sehr gut. hat jemand eine lösung? |
Re: TPanel mit Farbverlauf
Stichwort: RaizeKomponente ;)
Dort sollte es IMHO die Eigenschaft Farbverlauf geben... |
Re: TPanel mit Farbverlauf
Hallo,
warum sollte ein Panel keinen Canvas besitzen?
Delphi-Quellcode:
Gruß Hawkeye
type
TMyPanel = class (TPanel) protected procedure Paint; override; end; //procedure TPanel.Paint; procedure TMyPanel.Paint; var R : TRect; i : Integer; b : Byte; begin inherited; R := ClientRect; AdjustClientRect (R); for i := R.Left to R.Right - 1 do begin b := Trunc(255 * (i - R.Left) / (R.Right - 1 - R.Left)); Canvas.Pen.Color := RGB(0, 144, b); Canvas.MoveTo (i, 0); Canvas.LineTo (i, Height); end; end; //Edit: Methoden-Header korrigiert, Dank an Sunlight7! |
Re: TPanel mit Farbverlauf
Zitat:
Delphi-Quellcode:
procedure TMyPanel.Paint;
|
Re: TPanel mit Farbverlauf
Hallo,
wie wendet man Hawkeyes Code an? |
Re: TPanel mit Farbverlauf
Entweder leitest du dir eine Komponenten vom Panel ab, z.B. TGradientPanel, die dann einen Farbverlauf zeichnet, oder du klebst den Code mit einem ClassHelper dran ;)
|
Re: TPanel mit Farbverlauf
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
Irgend wo in der DP schwirrt die Kompo GPanel noch rum von mir... |
Re: TPanel mit Farbverlauf
danke für die Tips muss ich mal ausprobieren
|
Re: TPanel mit Farbverlauf
Class Helper dürften nicht funktionieren, da man von dort nicht auf virtuelle oder dynamische Methoden Einfluss nehmen kann - das wäre auch technisch kaum zu machen. Außerdem würde man so alle Panels ändern.
Falls man das tun möchte, wäre es am einfachsten, die neue Klasse ebenfalls TPanel zu nennen und entweder oberhalb vom Formular zu deklarieren oder in einer Unit, die am Ende der Uses-Klausel steht. Dann erhält man ohne zusätzliche Komponente das gewünschte Verhalten. |
Re: TPanel mit Farbverlauf
Oder TJvGradient von den Jedis aufs Panel legen.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:38 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 by Thomas Breitkreuz