Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Farbverlauf bei der Form ? (https://www.delphipraxis.net/57357-farbverlauf-bei-der-form.html)

Vader 19. Nov 2005 19:35


Farbverlauf bei der Form ?
 
hallo,

wie geht das wenn ich bei der form einen farbverlauf haben möchte,
zb. hellblau zu dunkelblau ??

mfg vader

Daniel B 19. Nov 2005 19:53

Re: Farbverlauf bei der Form ?
 
Versuche das mal: http://www.delphi-library.de/viewtop...5e36171fe3cbac

taipan84 20. Nov 2005 17:36

Re: Farbverlauf bei der Form ?
 
Allerdings solltest du da im Aufruf der Gradient-Prozeduren nicht
Delphi-Quellcode:
Rect(0, 0, Width, Heigth)
benutzen, sondern
Delphi-Quellcode:
Rect(0, 0, ClientWidth, ClientHeigth)

Vader 20. Nov 2005 17:45

Re: Farbverlauf bei der Form ?
 
hallo ,

danke für die tipps !
mfg vader

ManuMF 20. Nov 2005 19:11

Re: Farbverlauf bei der Form ?
 
Oder ganz einfach JvGradient nehmen ;-)

Gruß,
ManuMF

Daniel B 20. Nov 2005 22:16

Re: Farbverlauf bei der Form ?
 
Zitat:

Zitat von ManuMF
Oder ganz einfach JvGradient nehmen ;-)

Gruß,
ManuMF

Oder einfach mal NICHT für jeden "pups" ne eigene Komponente benutzen. ;)

Gruss...

Vader 21. Nov 2005 17:14

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

Daniel B 21. Nov 2005 22:48

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.

Luckie 21. Nov 2005 23:08

Re: Farbverlauf bei der Form ?
 
Zitat:

Zitat von Daniel B
Ach ja, das hier hab ich gerade gefunden:
http://msdn.microsoft.com/library/de...onctlcolor.asp

Na ob er damit
Zitat:

Microsoft Foundation Class Library for Windows CE
viel anfangen kann. :roll:

Daniel B 21. Nov 2005 23:23

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 09:34 Uhr.
Seite 1 von 2  1 2      

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