AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

TGauge ForeColor

Ein Thema von Tommy1988 · begonnen am 7. Jun 2007 · letzter Beitrag vom 7. Jun 2007
Antwort Antwort
Seite 2 von 3     12 3      
Tommy1988
(Gast)

n/a Beiträge
 
#11

Re: TGauge ForeColor

  Alt 7. Jun 2007, 11:48
Ok, soweit bin ich:

Delphi-Quellcode:
  Gauge.Progress := Gauge.Progress + 1;

  DoubleBuffered := true;

case Gauge.Progress of
0..9 : Gauge.ForeColor := $0000AA00;
10..19 : Gauge.ForeColor := $0000AA82;
20..29 : Gauge.ForeColor := $0000AAC3;

30..39 : Gauge.ForeColor := $0000AAED;
40..49 : Gauge.ForeColor := $0000AAFF;
50..59 : Gauge.ForeColor := $00009AFF;

60..69 : Gauge.ForeColor := $000081FF;
70..79 : Gauge.ForeColor := $00006BFF;
80..89 : Gauge.ForeColor := $000058FF;
90..100: Gauge.ForeColor := $000000FF;
end;
Nur der "Farbverlauf" sieht serh schlecht aus..
Er ist nicht flüssig. Kann man sowas unkomplizierter lösen?
  Mit Zitat antworten Zitat
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#12

Re: TGauge ForeColor

  Alt 7. Jun 2007, 11:54
Hallo,

hier habe ich Beispielcode gepostet, um die einzelnen Schritte eines linearen Farbverlaufs zu berechnen.

Hoffe das hilft dir weiter.

Du musst dann nur bei jeder Änderung der Gauge die Funktion entsprechend aufrufen, dir die Farbe holen, und auf den ForeColor (Die Gauge hat sicher ein entsprechendes Event?) zuweisen.
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  Mit Zitat antworten Zitat
Tommy1988
(Gast)

n/a Beiträge
 
#13

Re: TGauge ForeColor

  Alt 7. Jun 2007, 11:57
Ich habe mir das jezt mal angesehen, leider verstehe ich den Code nicht wirklich.
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#14

Re: TGauge ForeColor

  Alt 7. Jun 2007, 12:02
Guck dir doch einfach mal den Funktionskopf an, mit etwas Überlegung siehst du gleich, was diese dann macht, ohne den Code gesehen zu haben.

function LinearGradientStep(ColStart, ColEnd: TColor; Length, Step: Integer): TColor; ColStart: Anfangsfarbe
ColEnd: Endfarbe
Length: Länge des farbverlaufs (Länge deiner Gauge)
Step: Schrittweite

Result: TColor


Du erhälst somit einen Farbwert im Abhängigkeit der angegebenen Parameter. Das Vorgehen hat dir Luke bereits genannt.
  Mit Zitat antworten Zitat
Tommy1988
(Gast)

n/a Beiträge
 
#15

Re: TGauge ForeColor

  Alt 7. Jun 2007, 12:11
muss ich
ColStart, ColEnd, Length und Step

deklarieren?

also so:
Delphi-Quellcode:
ColStart := clLime;
ColEnd := clRed;
Lenght := '100';
Step := '1';
?

Zitat:
Das Vorgehen hat dir Luke bereits genannt.
Wenn ich es verstanden hätte würd ich nicht mehr fragen
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#16

Re: TGauge ForeColor

  Alt 7. Jun 2007, 12:12
Nein lediglich beim Funktionsaufruf übergeben. Du solltest dir einmal die Delphi-Grundlagen ansehen.
  Mit Zitat antworten Zitat
Tommy1988
(Gast)

n/a Beiträge
 
#17

Re: TGauge ForeColor

  Alt 7. Jun 2007, 12:16
Die gucke ich mir immerwieder mal an. Aber wenn ich es auf anhieb nicht verstehe kann ich nix machen..

Eine kleine Hilfe, z.B. CodeSchnipsel, würde mir helfen.
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#18

Re: TGauge ForeColor

  Alt 7. Jun 2007, 12:25
Zitat von Tommy1988:
Eine kleine Hilfe, z.B. CodeSchnipsel, würde mir helfen.
Hehe, das glaube ich dir gern. Doch solltest du selbst mal etwas überlegen und versuchen, das umzusetzen.

Ich würde es in der Art lösen (setzt voraus, dass Width > MaxValue ist):

Delphi-Quellcode:
var
  i: Integer;
begin
  for i := 1 to Gauge.MaxValue do
  begin
    Gauge.Progress := i;
    Gauge.ForeColor := LinearGradientStep(clGreen, clBlue, Gauge.Width, i * round(Gauge.Width / Gauge.MaxValue));
    Delay(40);
  end;
end;
Frag mich bitte nicht, wieso am Ende so ein Farbsprung stattfindet.
  Mit Zitat antworten Zitat
Tommy1988
(Gast)

n/a Beiträge
 
#19

Re: TGauge ForeColor

  Alt 7. Jun 2007, 12:27
Achso, die Funktion kann biszu 4 Werte aufnehmen?
Mh.. soetwas habe ich gestern noch in einem Buch durchgelesen, da ging es halt aber um Canvas
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#20

Re: TGauge ForeColor

  Alt 7. Jun 2007, 12:29
Natürlich kann sie das.

Schaue dir das hier mal an bzw. arbeite den Crashkurs durch, sonst bringt dir das alles nichts.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:23 Uhr.
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