|
Die von TGraphicControl abgeleitete Komponente Tdbmeter implementiert eine mehrfarbige grafische Anzeige von numerischen Werten, wie sie beispielsweise bei Audiogeräten eingesetzt wird:
Abbildung 7/2.1.1.25-1: Meter-Anzeige mit unterschiedlichen Werten
Die Anzahl der Segmente für die jeweilige Farbe kann individuell gewählt werden. Der gesamte Bereich erstreckt sich von 0 bis 100 und wird auf die entsprechenden Segmente aufgeteilt, deren Anzeige in der Reihenfolge grün, gelb und rot erfolgt.
Properties der Komponente Tdbmeter
| |
Tcolor GreenColor
Tcolor YellowColor
Tcolor RedColor
Obwohl die Komponente intern mit den logischen Farben Grün, Gelb und Rot arbeitet, können die tatsächlich angezeigten Farben frei gewählt werden. Sie sind den entsprechenden Properties zuzuweisen.
| Property GreenColor, YellowColor, RedColor |
Tcolor GreenBack
Tcolor YellowBack
Tcolor RedBack
Auch der Hintergrund der drei Farben kann individuell festgelegt werden, um die drei Bereiche zu unterscheiden, auch wenn der tatsächlich anzuzeigende Wert diese noch nicht erreicht hat.
| Property GreenBack, YellowBack, RedBack |
int Greens
int Yellows
int Reds
Die Properties Greens, Yellows und Reds legen die Anzahl der Segmente in den entsprechenden Farben fest.
Die Anzahl der Segmente ist immer im Verhältnis zum Gesamtanteil zu sehen. Optisch ergibt die Summe der drei Farben 100%. Rechnerisch wird der zugehörige numerische Anteil der Farben jedoch über die Properties ###Max festgelegt. Es entspricht also:
GreenMax + YellowMax + RedMax = 100%
wobei die drei Bereiche unterschiedlich viele Segmente haben können, beispielsweise:
|
Farbe
|
###Max
|
Proportional
|
Willkürlich
|
|
Green
|
50
|
5
|
10
|
|
Yellow
|
30
|
3
|
5
|
|
Red
|
20
|
2
|
2
|
| Property Greens, Yellows, Reds |
int GreenMax
int YellowMax
int RedMax
Diese Properties legen den logischen Anteil der Farbe von 100 Prozent fest.
| Property GreenMax, YellowMax, RedMax |
bool ShowJustOne
Ist das Property ShowJustOne auf TRUE gesetzt, so wird lediglich das höchste Segment angezeigt, während alle übrigen Segmente auf der Hintergrundfarbe verbleiben.
| Property ShowJustOne |
int SepWidth
SepWidth legt die Breite der Zwischenlinien zwischen den einzelnen Segmenten fest.
| Property SepWidth |
TColor SepColor
Die Farbe der Trennlinie zwischen den Segmenten wird über SepColor spezifiziert.
| Property SepColor |
tdbmeterstyle Style
Das Property Style legt den Anzeigestil der Control fest. Mögliche Werte sind:
|
Konstante
|
Bedeutung
|
|
dsVertical
|
Vertikale Ausrichtung
|
|
dsHorizontal
|
Horizontale Ausrichtung
|
| Property Style |
tdbmeterdirection Direction
Direction spezifiziert die Laufrichtung der Control. Mögliche Werte sind:
|
Konstante
|
Bedeutung
|
|
ddRightDown
|
größter Wert rechts bzw. unten
|
|
ddLeftUp
|
größter Wert links bzw. oben
|
| Property Direction |
int Position
Das Property Position speichert den aktuellen Anzeigewert. Dieser wird zur Umsetzung der Anzeige auf die Farbsegmente umgerechnet.
Position muß im Bereich
Position IN [0 .. GreenMax + YellowMax + RedMax]
liegen. Die tatsächliche Anzeigeposition ergibt sich dann nach Umrechnung der entsprechenden Anteile der Farben am Gesamtwert sowie anschließend anhand der Anzahl der Segmente pro entsprechender Farbe.
| Property Position
|