Farben per Farbauswahldialog auswählen

Aufrufen der API-Funktion

Der eigentliche Aufruf der API-Funktion erfolgt dann in einer Funktion, hier heißt sie getFarbe. Ihr übergeben Sie das Fenster-Handle von Access sowie bei Bedarf einen booleschen Wert, der bestimmt, ob die erweiterte Farbauswahl (true) oder der einfache Dialog (false) angezeigt werden soll. Wird der Parameter weggelassen, wird der Standardwert false verwendet.

Zunächst deklarieren Sie innerhalb der Funktion noch drei Variablen, die Variable typFarbauswahl bekommt den benutzerdefinierten Typ LPCHOOSECOLOR. Anschließend weisen Sie den einzelnen Teilen des benutzerdefinierten Datentyps die entsprechenden Werte zu. Dem Feld lStructSize weisen Sie dabei die Größe der Datenstruktur zu, die Sie mit der Len-Funktion ermitteln können. Das Feld hWnd bekommt den Parameter FensterHandle der Funktion zugewiesen. Über das Feld Flags bestimmen Sie die Optionen für die Ausgabe des Dialogfelds. Zunächst weisen Sie ihm die Konstante CC_SOLIDCOLOR zu und prüfen dann den Wert des optionalen Parameters. Hat er den Wert true, fügen Sie zum aktuellen Wert des Feldes Flags noch die Konstante CC_FULLOPEN hinzu, indem Sie den bitweisen OR-Operator verwenden.

Der Funktion ChooseColor übergeben Sie dann die Variablen typFarbauswahl, die die benutzerdefinierte Datenstruktur enthält. Der Rückgabewert der Funktion wird dann der Variablen lngErgebnis zugewiesen. Hat der Benutzer eine Farbe gewählt, hat sie einen Wert ungleich 0. Hat der Benutzer keine Farbe gewählt, sondern die Farbauswahl abgebrochen, gibt die APIFunktion 0 zurück. Das sollten Sie nun prüfen, damit die Funktion getFarbe einen gültigen Farbwert zurückgeben kann, den Sie bei Auswahl einer Farbe über das Feld rgbResult des Datentyps ermitteln können.