CHOOSECOLORA-Struktur (commdlg.h)
Enthält Informationen, die die ChooseColor-Funktion zum Initialisieren des Dialogfelds Farbe verwendet. Nachdem der Benutzer das Dialogfeld geschlossen hat, gibt das System Informationen zur Auswahl des Benutzers in dieser Struktur zurück.
Syntax
typedef struct tagCHOOSECOLORA {
DWORD lStructSize;
HWND hwndOwner;
HWND hInstance;
COLORREF rgbResult;
COLORREF *lpCustColors;
DWORD Flags;
LPARAM lCustData;
LPCCHOOKPROC lpfnHook;
LPCSTR lpTemplateName;
} CHOOSECOLORA, *LPCHOOSECOLORA;
Member
lStructSize
Art: DWORD
Die Länge der Struktur in Bytes.
hwndOwner
Typ: HWND
Ein Handle für das Fenster, das das Dialogfeld besitzt. Bei diesem Member kann es sich um ein beliebiges gültiges Fensterhandle handeln, oder es kann NULL sein, wenn das Dialogfeld keinen Besitzer hat.
hInstance
Typ: HWND
Wenn das CC_ENABLETEMPLATEHANDLE-Flag im Flags-Element festgelegt ist, ist hInstance ein Handle für ein Speicherobjekt, das eine Dialogfeldvorlage enthält. Wenn das flag CC_ENABLETEMPLATE festgelegt ist, ist hInstance ein Handle für ein Modul, das eine Dialogfeldvorlage mit dem Namen des lpTemplateName-Members enthält. Wenn weder CC_ENABLETEMPLATEHANDLE noch CC_ENABLETEMPLATE festgelegt ist, wird dieser Member ignoriert.
rgbResult
Typ: COLORREF
Wenn das CC_RGBINIT-Flag festgelegt ist, gibt rgbResult die Farbe an, die beim Erstellen des Dialogfelds zuerst ausgewählt wurde. Wenn der angegebene Farbwert nicht zu den verfügbaren Farben gehört, wählt das System die nächstgelegene verfügbare Volltonfarbe aus. Wenn rgbResult null ist oder CC_RGBINIT nicht festgelegt ist, ist die ursprünglich ausgewählte Farbe schwarz. Wenn der Benutzer auf die Schaltfläche OK klickt, gibt rgbResult die Farbauswahl des Benutzers an. Um einen COLORREF-Farbwert zu erstellen, verwenden Sie das RGB-Makro .
lpCustColors
Typ: COLORREF*
Ein Zeiger auf ein Array mit 16 Werten, die rote, grüne, blaue Werte (RGB) für die benutzerdefinierten Farbfelder im Dialogfeld enthalten. Wenn der Benutzer diese Farben ändert, aktualisiert das System das Array mit den neuen RGB-Werten. Um neue benutzerdefinierte Farben zwischen Aufrufen der ChooseColor-Funktion beizubehalten, sollten Sie statischen Arbeitsspeicher für das Array zuweisen. Um einen COLORREF-Farbwert zu erstellen, verwenden Sie das RGB-Makro .
Flags
Art: DWORD
Eine Reihe von Bitflags, die Sie verwenden können, um das Dialogfeld Farbe zu initialisieren. Wenn das Dialogfeld zurückgibt, legt es diese Flags fest, um die Eingabe des Benutzers anzugeben. Dieser Member kann eine Kombination der folgenden Flags sein.
Wert | Bedeutung |
---|---|
|
Bewirkt, dass das Dialogfeld alle verfügbaren Farben im Satz der Grundfarben anzeigt. |
|
Aktiviert die Hookprozedur, die im lpfnHook-Member dieser Struktur angegeben ist. Dieses Flag wird nur verwendet, um das Dialogfeld zu initialisieren. |
|
Die Elemente hInstance und lpTemplateName geben eine Dialogfeldvorlage an, die anstelle der Standardvorlage verwendet werden soll. Dieses Flag wird nur verwendet, um das Dialogfeld zu initialisieren. |
|
Das hInstance-Element identifiziert einen Datenblock, der eine vorab geladene Dialogfeldvorlage enthält. Das System ignoriert den lpTemplateName-Member , wenn dieses Flag angegeben ist. Dieses Flag wird nur verwendet, um das Dialogfeld zu initialisieren. |
|
Bewirkt, dass das Dialogfeld die zusätzlichen Steuerelemente anzeigt, mit denen der Benutzer benutzerdefinierte Farben erstellen kann. Wenn dieses Flag nicht festgelegt ist, muss der Benutzer auf die Schaltfläche Benutzerdefinierte Farbe definieren klicken, um die benutzerdefinierten Farbsteuerelemente anzuzeigen. |
|
Deaktiviert die Schaltfläche Benutzerdefinierte Farbe definieren . |
|
Bewirkt, dass das Dialogfeld die im rgbResult-Element angegebene Farbe als erste Farbauswahl verwendet. |
|
Bewirkt, dass das Dialogfeld die Schaltfläche Hilfe anzeigt. Das hwndOwner-Element muss das Fenster angeben, in dem die registrierten HELPMSGSTRING-Nachrichten empfangen werden, die das Dialogfeld sendet, wenn der Benutzer auf die Schaltfläche Hilfe klickt. |
|
Bewirkt, dass das Dialogfeld nur Volltonfarben im Satz der Grundfarben anzeigt. |
lCustData
Typ: LPARAM
Anwendungsdefinierte Daten, die das System an die Hookprozedur übergibt, die vom lpfnHook-Element identifiziert wird. Wenn das System die WM_INITDIALOG Nachricht an die Hookprozedur sendet, ist der lParam-Parameter der Nachricht ein Zeiger auf die CHOOSECOLOR-Struktur , die beim Erstellen des Dialogfelds angegeben wurde. Die Hookprozedur kann diesen Zeiger verwenden, um den Wert lCustData abzurufen.
lpfnHook
Typ: LPCCHOOKPROC
Ein Zeiger auf eine CCHookProc-Hookprozedur , die nachrichten verarbeiten kann, die für das Dialogfeld vorgesehen sind. Dieses Element wird ignoriert, es sei denn, das CC_ENABLEHOOK-Flag ist im Flags-Element festgelegt.
lpTemplateName
Typ: LPCTSTR
Der Name der Dialogfeldvorlagenressource in dem Modul, das vom hInstance-Member identifiziert wird. Diese Vorlage wird durch die Standarddialogfeldvorlage ersetzt. Für nummerierte Dialogfeldressourcen kann lpTemplateName ein Wert sein, der vom MAKEINTRESOURCE-Makro zurückgegeben wird. Dieses Element wird ignoriert, es sei denn, das CC_ENABLETEMPLATE-Flag ist im Flags-Element festgelegt.
Anforderungen
Anforderung | Wert |
---|---|
Header | commdlg.h |
Weitere Informationen
Allgemeine Dialogfeldbibliothek
Konzept
Referenz