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;
  LPEDITMENU   lpEditInfo;
} 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 flag CC_ENABLETEMPLATEHANDLE 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-Elements enthält. Wenn weder CC_ENABLETEMPLATEHANDLE noch CC_ENABLETEMPLATE festgelegt ist, wird dieser Member ignoriert.

rgbResult

Typ: COLORREF

Wenn das flag CC_RGBINIT festgelegt ist, gibt rgbResult die Farbe an, die beim Erstellen des Dialogfelds anfänglich ausgewählt wurde. Wenn der angegebene Farbwert nicht zu den verfügbaren Farben gehört, wählt das System die nächste verfügbare Volltonfarbe aus. Wenn rgbResult null ist oder CC_RGBINIT nicht festgelegt ist, ist die anfänglich ausgewählte Farbe schwarz. Wenn der Benutzer auf die Schaltfläche OK klickt, gibt rgbResult die Farbauswahl des Benutzers an. Verwenden Sie das RGB-Makro, um einen COLORREF-Farbwert zu erstellen.

lpCustColors

Typ: COLORREF*

Ein Zeiger auf ein Array von 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. Verwenden Sie das RGB-Makro, um einen COLORREF-Farbwert zu erstellen.

Flags

Art: DWORD

Eine Reihe von Bitflags, die Sie verwenden können, um das Dialogfeld Farbe zu initialisieren. Wenn das Dialogfeld zurückgegeben wird, werden diese Flags festgelegt, um die Eingabe des Benutzers anzugeben. Dieser Member kann eine Kombination der folgenden Flags sein.

Wert Bedeutung
CC_ANYCOLOR
0x00000100
Bewirkt, dass im Dialogfeld alle verfügbaren Farben im Satz der Grundfarben angezeigt werden.
CC_ENABLEHOOK
0x00000010
Aktiviert die hook-Prozedur, die im lpfnHook-Element 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 im Dialogfeld die zusätzlichen Steuerelemente angezeigt werden, 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 anfängliche Farbauswahl verwendet.
CC_SHOWHELP
0x00000008
Bewirkt, dass im Dialogfeld die Schaltfläche Hilfe angezeigt wird. 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 im Dialogfeld nur Volltonfarben im Satz der Grundfarben angezeigt werden.

lCustData

Typ: LPARAM

Anwendungsdefinierte Daten, die das System an die hook-Prozedur ü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 lCustData-Wert abzurufen.

lpfnHook

Typ: LPCCHOOKPROC

Ein Zeiger auf eine CCHookProc-Hookprozedur , die nachrichten verarbeiten kann, die für das Dialogfeld vorgesehen sind. Dieser Member wird ignoriert, es sei denn, das flag CC_ENABLEHOOK ist im Flags-Member festgelegt.

lpTemplateName

Typ: LPCTSTR

Der Name der Dialogfeldvorlagenressource in dem Modul, das vom hInstance-Element 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. Dieser Member wird ignoriert, es sei denn, das flag CC_ENABLETEMPLATE ist im Flags-Member festgelegt.

lpEditInfo

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 10 Build 20348
Unterstützte Mindestversion (Server) Windows 10 Build 20348
Kopfzeile commdlg.h

Weitere Informationen

CCHookProc

ChooseColor

Allgemeine Dialogfeldbibliothek

Konzept

MAKEINTRESOURCE

Referenz