Freigeben über


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
CC_ANYCOLOR
0x00000100
Bewirkt, dass das Dialogfeld alle verfügbaren Farben im Satz der Grundfarben anzeigt.
CC_ENABLEHOOK
0x00000010
Aktiviert die Hookprozedur, die im lpfnHook-Member dieser Struktur angegeben ist. Dieses Flag wird nur verwendet, um das Dialogfeld zu initialisieren.
CC_ENABLETEMPLATE
0x00000020
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.
CC_ENABLETEMPLATEHANDLE
0x00000040
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.
CC_FULLOPEN
0x00000002
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.
CC_PREVENTFULLOPEN
0x00000004
Deaktiviert die Schaltfläche Benutzerdefinierte Farbe definieren .
CC_RGBINIT
0x00000001
Bewirkt, dass das Dialogfeld die im rgbResult-Element angegebene Farbe als erste Farbauswahl verwendet.
CC_SHOWHELP
0x00000008
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.
CC_SOLIDCOLOR
0x00000080
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

CCHookProc

ChooseColor

Allgemeine Dialogfeldbibliothek

Konzept

MAKEINTRESOURCE

Referenz