Version 2004 (Geändert)
SET RGB COLORS ({*; }Objekt; Vordergrundfarbe; Hintergrundfarbe{; AltHintergrundfarbe})
Parameter | Typ | Beschreibung | |
* | Mit *: Objekt ist ein Objektname (String) | ||
Ohne Stern: Objekt ist Feld oder Variable | |||
Objekt | Formularobjekt | Objektname (mit *) oder | |
Feld oder Variable (mit *) | |||
Vordergrundfarbe | Numerisch | RGB Wert für Vordergrundfarbe | |
Hintergrundfarbe | Numerisch | RGB Wert für Hintergrundfarbe | |
AltHintergrundfarbe | Numerisch | RGB Farbe für wechselnde | |
Hintergrundfarbe |
Beschreibung
Der Befehl SET RGB COLORS ändert die Vordergrund- und Hintergrundfarben der in Objekt angegebenen Objekte. Ist Objekt eine Listbox, können Sie einen weiteren Parameter für wechselne Vorder- und Hintergrundfarbe für Zeilen mit gerader Nummer verwenden.
Mit dem optionalen Parameter * geben Sie in Objekt einen Objektnamen (String) an. Ohne den optionalen Parameter * geben Sie in Objekt ein Datenfeld oder eine Variable an. In diesem Fall geben Sie anstatt eines Strings eine Referenz auf das Datenfeld oder die Variable an (nur Datenfeld- oder Variablenobjekte). Weitere Informationen dazu finden Sie im Abschnitt Objekteigenschaften.
Mit AltHintergrundFarbe setzen Sie eine wechselnde Hintergrundfarbe für die Zeilen mit gerader Nummer. Dann wird AltHgrundFarbe nur für die Hintergrundfarbe der Zeilen mit ungerader Nummer verwendet. Wechselnde Farben machen Arrays leichter lesbar.
Definiert Objekt die Listbox, gilt die wechselnde Farbe für das gesamte Objekt, definiert Objekt eine Spalte, gilt sie nur für die angegebene Spalte.
In Vordergrundfarbe, Hintergrundfarbe und AltHintergrundfarbe geben Sie die RGB-Werte an. Ein RGB Wert ist eine lange Ganzzahl mit 4-byte im Format (0x00RRGGBB). Bytes werden von 0 bis 3 von rechts nach links numeriert:
Byte | Beschreibung |
3 | Muss bei absoluter RGB Farbe Null sein |
2 | Rote Komponente (0..255) |
1 | Grüne Komponente (0..255) |
0 | Blaue Komponente (0..255) |
Folgende Tabelle zeigt einige Beispiele für RGB Farben:
Wert | Beschreibung |
0x00000000 | Schwarz |
0x00FF0000 | Hellrot |
0x0000FF00 | Hellgrün |
0x000000FF | Hellblau |
0x007F7F7F | Grau |
0x00FFFF00 | Hellgelb |
0x00FF7F7F | Pastellrot |
0x00FFFFFF | Weiß |
Als Alternative können Sie aber auch eine der Farben verwenden, die beim Zeichnen von Objekten automatisch gesetzt werden. 4D bietet folgende vordefinierte Konstanten unter dem Thema "Farben":
Konstante | Typ | Wert |
Foreground color | Lange Ganzzahl | -1 |
Background color | Lange Ganzzahl | -2 |
Dark shadow color | Lange Ganzzahl | -3 |
Light shadow color | Lange Ganzzahl | -4 |
Highlight text background color | Lange Ganzzahl | -7 |
Highlight text color | Lange Ganzzahl | -8 |
Highlight menu background color | Lange Ganzzahl | -9 |
Highlight menu text color | Lange Ganzzahl | -10 |
Disable highlight item color | Lange Ganzzahl | -11 |
Das ergibt auf einem Standardsystem folgende Farben:
WARNUNG: Diese automatischen Farben hängen vom System ab. Bei Änderungen der Systemfarben passt 4D die automatischen Farben entsprechend an. Verwenden Sie die Werte für automatische Farben, um Objekte mit Systemfarben und nicht mit den oben aufgeführten Beispielfarben zu versehen.
Beispiele
Dieses Formular enthält zwei nicht eingebbare Variablen vsColorValue und vsColor sowie drei Thermometer: thRed, thGreen und thBlue.
Für diese Objekte gelten folgende Methoden:
` Objektmethode für nicht eingebbaren Wert vsColorValue Case of : (Form event=On Load) vsColorValue:="0x00000000" End case ` Objektmethode für nicht eingebbare Variable vsColor Case of : (Form event=On Load) vsColor:="" SET RGB COLORS(vsColor;0x00FFFFFF;0x0000) End case ` Objektmethode für Thermometer thRed CLICK IN COLOR THERMOMETER ` Objektmethode für Thermometer thGreen CLICK IN COLOR THERMOMETER ` Objektmethode für Thermometer thBlue CLICK IN COLOR THERMOMETER
Die Thermometer rufen folgende Projektmethode auf:
` Projektmethode CLICK IN COLOR THERMOMETER SET RGB COLORS(vsColor;0x00FFFFFF;(thRed << 16)+(thGreen << 8)+thBlue) vsColorValue:=String((thRed << 16)+(thGreen << 8)+thBlue;"&x") If (thRed=0) vsColorValue:=Substring(vsColorValue;1;2)+"0000"+Substring(vsColorValue;3) End if
Beachten Sie, dass zum Berechnen der Farbwerte aus dem Thermometer Bit Operatoren verwendet werden.
In der Design- oder Anwendungsumgebung sieht das Formular folgendermaßen aus:
Referenz
Bit Operatoren, Select RGB Color, SET COLOR.
ContactListBox, Displayed Line Number, Window Types