![]() |
Farbverlauf bei der Form ?
hallo,
wie geht das wenn ich bei der form einen farbverlauf haben möchte, zb. hellblau zu dunkelblau ?? mfg vader |
Re: Farbverlauf bei der Form ?
Versuche das mal:
![]() |
Re: Farbverlauf bei der Form ?
Allerdings solltest du da im Aufruf der Gradient-Prozeduren nicht
Delphi-Quellcode:
benutzen, sondern
Rect(0, 0, Width, Heigth)
Delphi-Quellcode:
Rect(0, 0, ClientWidth, ClientHeigth)
|
Re: Farbverlauf bei der Form ?
hallo ,
danke für die tipps ! mfg vader |
Re: Farbverlauf bei der Form ?
Oder ganz einfach JvGradient nehmen ;-)
Gruß, ManuMF |
Re: Farbverlauf bei der Form ?
Zitat:
Gruss... |
Re: Farbverlauf bei der Form ?
hallo,
der code funzt
Delphi-Quellcode:
// Erstellt ein Farbverlauf von links nach rechts
procedure DrawGradientV(Canvas: TCanvas; Color1, Color2: TColor; Rect: TRect); var Y, R, G, B: Integer; begin for Y := Rect.Left to Rect.Right do begin R := Round(GetRValue(Color1) + ((GetRValue(Color2) - GetRValue(Color1)) * Y / (Rect.Right - Rect.Left))); G := Round(GetGValue(Color1) + ((GetGValue(Color2) - GetGValue(Color1)) * Y / (Rect.Right - Rect.Left))); B := Round(GetBValue(Color1) + ((GetBValue(Color2) - GetBValue(Color1)) * Y / (Rect.Right - Rect.Left))); Canvas.Pen.Color := RGB(R, G, B); Canvas.Pen.Width := 1; Canvas.Pen.Style := psInsideFrame; Canvas.MoveTo(Y, Rect.Top); Canvas.LineTo(Y, Rect.Bottom); end; end; // Erstellt ein Farbverlauf von oben nach unten procedure DrawGradientH(Canvas: TCanvas; Color1, Color2: TColor; Rect: TRect); var X, R, G, B: Integer; begin for X := Rect.Top to Rect.Bottom do begin R := Round(GetRValue(Color1) + ((GetRValue(Color2) - GetRValue(Color1)) * X / (Rect.Bottom - Rect.Top))); G := Round(GetGValue(Color1) + ((GetGValue(Color2) - GetGValue(Color1)) * X / (Rect.Bottom - Rect.Top))); B := Round(GetBValue(Color1) + ((GetBValue(Color2) - GetBValue(Color1)) * X / (Rect.Bottom - Rect.Top))); Canvas.Pen.Color := RGB(R, G, B); Canvas.Pen.Width := 1; Canvas.Pen.Style := psInsideFrame; Canvas.MoveTo(Rect.Left, X); Canvas.LineTo(Rect.Right, X); end; end; procedure TForm3.FormPaint(Sender: TObject); begin DrawGradientH(Canvas, $00AF8000, $00FFD680, Rect(0, 0, Width, Height)); end; aber ich habe groupbox auf meiner form, die bleiben grau, wie kann man das angleichen ? mfg vader |
Re: Farbverlauf bei der Form ?
Dürfte schwierig werden, da CB, Buttons usw. auf das Farbschema von Windows bezogen sind. Müsstest über umwege eine neue Kompo von der ComboBox ableiten, ob es wirklich Wert ist, ist die andere Frage, dann wäre alles in einer Farbe, müsstest Schaltflächen immer besonders hervorheben.
|
Re: Farbverlauf bei der Form ?
Zitat:
Zitat:
|
Re: Farbverlauf bei der Form ?
Ja ups, doch so spät, ich geh ins Bett, lösch die letzten zwei Beiträge bitte ;) Danke.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:55 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