Lies diesen Artikel und viele weitere mit einem kostenlosen, einwöchigen Testzugang.
André Minhorst, Duisburg
Wenn Sie noch mit nicht unter Windows XP mit Access arbeiten, sind Sie mit das altbekannte Grau in Grau der Office-Anwendungen gewohnt. Unter Umständen möchte der eine oder anderen Entwickler oder Anwender mit ein wenig mehr Farbe beglückt werden – ob dies der besseren übersichtlichkeit der Anwendungsoberfläche dient oder einfach eine Flucht vor der gewohnten Farblosigkeit ist, entscheiden Sie selbst. Im vorliegenden Beitrag erfahren Sie erstmal einiges zum Thema Farben und Access.
Im Gegensatz zur realen Welt gibt es bei Computern selten Möglichkeiten, Farben einfach über deren Namen festzulegen – und wenn doch, dann verbirgt sich dahinter meist der entsprechende Farbcode.
Farben bestehen aus unterschiedlichen Anteilen von Rot, Grün und Blau. Dabei legt jeweils ein Wert fest, wie hoch der Anteil jeder Farbe ist. Dieser Wert liegt zwischen 0 und 255. Die Zahl 255 als höchster Wert stammt von dem Hexadezimalwert FF.
Bild 1: Auswahl eines Farbwertes
Durch die Möglichkeit, jeden Farbanteil in 256 Schritten festzulegen, ergeben sich 2563 verschiedene Kombinationen – also insgesamt 16.777.216 Möglichkeiten.
Unterschiedliche Anwendungen bieten verschiedene Formate zur Angabe des gewünschten Farbcodes an. HTML z. B. akzeptiert den Wert in hexadezimaler Form (#FFFFFF), während Sie den Wert in Access als Dezimalzahl angeben müssen – wie beispielsweise für die Hintergrundfarbe in den Eigenschaften eines Formulars (siehe Bild 1).
Der hier angegebene Farbwert steht für die Farbe Weiß – der hexadezimale Wert lautet #FFFFFF. Der Farbe Schwarz entspricht der Wert 0 (dezimal) bzw. #000000 (hexadezimal).
Mit der Kenntnis des Zahlenbereichs zur Definition einer Farbe (0 bis 16.777.215) und ein wenig Aufmerksamkeit fällt Ihnen schnell Folgendes auf: Wie kann es negative Zahlen als Werte für Farbeigenschaften geben Dies ist nämlich z. B. beim Hintergrund von Formularen der Fall: Der voreingestellte Wert der Eigenschaft Hintergrundfarbe lautet -2.147.483.633. Dieser Wert ist erstens wesentlich größer als der genannte Bereich und zweitens negativ.
Tatsächlich handelt es sich bei diesen Werten nicht um Farbcodes, sondern um Indizes, die stellvertretend für die Windows-Systemfarben stehen. Die Systemfarben von Windows können Sie im Register Darstellung des Dialogs Eigenschaften von Anzeige einstellen (siehe Bild 2). Den Dialog öffnen Sie über den Eintrag Einstellungen/Systemsteuerung/Anzeige des Startmenüs.
Die Verwendung dieser Konstanten ist sicher eine gute Idee, wenn Sie dem Anwender die Möglichkeit geben möchten, seine Anwendungsfarben selbst über die Systemsteuerung auszuwählen.
Die Auswahl einer Farbe erfolgt komfortabel über einen von Access zur Verfügung gestellten Dialog (siehe Bild 3). Den Dialog öffnen Sie vom Eigenschaftsfenster aus, indem Sie zunächst in das Feld mit der gewünschten Farbeigenschaft klicken und dann auf die nun erscheinende Schaltfläche mit den drei Punkten (…) klicken.
Mit dem Dialog können Sie eine von 48 Basisfarben auswählen oder eine benutzerdefinierte Farbe festlegen. Zum Festlegen einer benutzerdefinierten Farbe klicken Sie auf die entsprechende Schaltfläche und erweitern somit den Dialog wie in Bild 3.
Hier finden Sie die drei bereits beschriebenen Komponenten einer Farbe wieder: drei Felder zur Eingabe der Rot-, Grün- und Blau-Anteile der Farbe.
Bild 2: Einstellen der Systemfarben
Zur Ermittlung von Farbwerten ist oft das Konvertieren von dezimalen Werten in hexadezimale und umgekehrt erforderlich.
Umrechnen von dezimal zuhexadezimal
Bild 3: Hinzufügen benutzerdefinierter Farben
Für das Umrechnen von dezimalen Werten in hexadezimale verwenden Sie einfach die Funktion Hex() mit dem dezimalen Wert als Funktionsparameter. Die folgende Anweisung ergibt – im Testfenster (Aufruf über Strg + G) ausgeführt – beispielsweise den Wert FF zurück:
Debug.Print Hex(255)
Umrechnen vonhexadezimal zudezimal
Das Umrechnen in umgekehrter Richtung ist noch einfacher. Sie müssen einfach nur die windowsspezifische Schreibweise für Hexadezimalzahlen verwenden, indem Sie der eigentlichen Zahl den Ausdruck &h voranstellen. Der folgende Ausdruck gibt beispielsweise das Ergebnis 255 zurück:
Ende des frei verfügbaren Teil. Wenn Du mehr lesen möchtest, hole Dir ...
Testzugang
eine Woche kostenlosen Zugriff auf diesen und mehr als 1.000 weitere Artikel
diesen und alle anderen Artikel mit dem Jahresabo