Inhaltsverzeichnis
cpSetRBSColor
Mit diesem Befehl ist es möglich, den Farbton einer beliebigen Rennbildschirmvariable aus einem AddOn heraus zu ändern.
Dazu muss im Feld AddOn-Variablenname der Rennbildschirmvariable ein eindeutiger Name eingetragen sein. Im folgenden Beispiel sind das sFahrerKurzName1 und sFahrerKurzName2.
Neben dem Variablennamen erwartet der Befehl die Angabe der Farbnummer, die gesetzt werden soll. Die sichtbare Farbe auf dem Rennbildschirm hat die Nummer 1, wenn als Option Wie gewählte Farbe eingestellt ist.
Kommen die Farben über Slot Schrift Farbe oder Slot Hintergrund Farbe muss der Befehl cpGetSlotIDColor verwendet werden. Anderenfalls erhält man immer 0 = schwarz als Farbton.
Farbnummer 1 = aktiv eingestellte Farbe
Farbnummer 2 = Font-Farbe
Farbnummer 3 = Font-Farbe Slot (Default)
Farbnummer 4 = Font-Farbe 2
Syntax
| Befehl | cpSetRBSColor(sVariablenName:String,ColorNummer:Integer,Farbwert:Integer); |
|---|---|
| Funktion | Setzt für eine Rennbildschirmvariable die gewählte Farbnummer auf den gewünschten Dezimalwert |
| Typ |
Codebeispiel
var
slot : Integer;
msg : String;
color : Integer;
FontColor : Integer;
begin
// Slots 1 und 2 durchlaufen
for slot := 1 to 2 do
begin
// Slot einstellen
Cockpit.Slot := slot;
// Meldung zusammenstellen
msg := msg + 'Slot :' + IntToStr(slot);
msg := msg + Chr(13) + Chr(10);
msg := msg + '------------------------';
// für alle 4 Colornummern durchlaufen
for color := 1 to 4 do
begin
// Farbton holen und in Variable speichern
FontColor := cpGetRBSColor('sFahrerKurzName'+IntToStr(slot), color);
// Meldung erweitern
msg := msg + Chr(13) + Chr(10);
msg := msg + 'Farbe ' + IntToStr(color) + ': ';
msg := msg + IntToStr(FontColor);
end;
// Meldung nach allen Colornummern erweitern
msg := msg + Chr(13) + Chr(10);
msg := msg + Chr(13) + Chr(10);
end;
// Meldung anzeigen
cpShowMessage(msg);
// Farben blau und rot für Kurznamen vertauschen
cpSetRBSColor('sFahrerKurzName1', 1, 16744448);
cpSetRBSColor('sFahrerKurzName2', 1, 4210943);
end.
Der Code liest im ersten Schritt alle eingestellten Farben mit Werten aus. Gut zu sehen, dass Farbnummer 1+2 gleiche Werte enthalten. Nach Anzeigen der Meldung vertauschen die beiden zeilen die Farbe für die Fahrerkurznamen gegenüber der eigentlichen Einstellung.

Man kann übrigens mit diesem Befehl auch die Farbe von Grafikelementen auf dem RBS ändern (BOX, Rechteck, RoundBox, RoundRechteck)
Wichtiger Hinweis:
Nutzt man mehr als einen Monitor, muss man vorher mit dem Befehl cpSetMonitor(n); den gewünschten Monitor einstellen, auf dem sich die zu manipulierende Variable befindet. „n“ ist dabei eine Ziffer von
- 0 = Hauptmonitor
- 1-8 = Zusatzmonitor 1-8
Gibt es nur einen Monitor, kann man den Befehl auch weglassen.
