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 in Bytes der Struktur.

hwndOwner

Typ: HWND

Ein Handle für das Fenster, das das Dialogfeld besitzt. Dieses Element kann ein beliebiges gültiges Fensterziehpunkt sein, 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 CC_ENABLETEMPLATE Flag festgelegt ist, ist hInstance ein Handle für ein Modul, das eine Dialogfeldvorlage enthält, die vom lpTemplateName-Element benannt wird. Wenn weder CC_ENABLETEMPLATEHANDLE noch CC_ENABLETEMPLATE festgelegt ist, wird dieses Element ignoriert.

rgbResult

Typ: COLORREF

Wenn das CC_RGBINIT Flag 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 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 (RGB)-Werte 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 Bitkennzeichnungen, die Sie zum Initialisieren des Dialogfelds "Farbe " verwenden können. Wenn das Dialogfeld zurückgegeben wird, legt er diese Kennzeichen fest, um die Eingabe des Benutzers anzugeben. Dieses Element kann eine Kombination aus den folgenden Flags sein.

Wert Bedeutung
CC_ANYCOLOR
0x00000100
Bewirkt, dass das Dialogfeld alle verfügbaren Farben im Satz von Grundfarben anzeigt.
CC_ENABLEHOOK
0x00000010
Aktiviert die im lpfnHook-Element dieser Struktur angegebene Hook-Prozedur. Dieses Kennzeichen wird nur zum Initialisieren des Dialogfelds verwendet.
CC_ENABLETEMPLATE
0x00000020
Die Elemente "hInstance " und "lpTemplateName " geben eine Dialogfeldvorlage an, die anstelle der Standardvorlage verwendet werden soll. Dieses Kennzeichen wird nur zum Initialisieren des Dialogfelds verwendet.
CC_ENABLETEMPLATEHANDLE
0x00000040
Das hInstance-Element identifiziert einen Datenblock, der eine vordefinierte Dialogfeldvorlage enthält. Das System ignoriert das lpTemplateName-Element , wenn dieses Flag angegeben ist. Dieses Kennzeichen wird nur zum Initialisieren des Dialogfelds verwendet.
CC_FULLOPEN
0x00000002
Bewirkt, dass das Dialogfeld die zusätzlichen Steuerelemente anzeigt, mit denen der Benutzer benutzerdefinierte Farben erstellen kann. Wenn dieses Kennzeichen 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 das Dialogfeld die Hilfeschaltfläche anzeigt. Das hwndOwner-Element muss das Fenster angeben, um die registrierten HELPMSGSTRING-Nachrichten zu empfangen, die das Dialogfeld sendet, wenn der Benutzer auf die Hilfeschaltfläche klickt.
CC_SOLIDCOLOR
0x00000080
Bewirkt, dass das Dialogfeld nur Volltonfarben in der Gruppe der Grundfarben anzeigt.

lCustData

Typ: LPARAM

Anwendungsdefinierte Daten, die vom System an die vom lpfnHook-Element identifizierte Hook-Prozedur übergeben werden. Wenn das System die WM_INITDIALOG Nachricht an die Hook-Prozedur sendet, ist der lParam-Parameter der Nachricht ein Zeiger auf die CHOOSECOLOR-Struktur , die beim Erstellen des Dialogfelds angegeben wurde. Die Hook-Prozedur kann diesen Zeiger verwenden, um den lCustData-Wert abzurufen.

lpfnHook

Typ: LPCCHOOKPROC

Ein Zeiger auf eine CCHookProc-Hook-Prozedur , die Nachrichten verarbeiten kann, die für das Dialogfeld vorgesehen sind. Dieses Element wird ignoriert, es sei denn, das CC_ENABLEHOOK Flag wird im Flags-Element festgelegt.

lpTemplateName

Typ: LPCTSTR

Der Name der Vorlagenressource des Dialogfelds im vom hInstance-Element identifizierten Modul. 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 wird im Flags-Element festgelegt.

lpEditInfo

Anforderungen

   
Unterstützte Mindestversion (Client) Windows 10 Build 20348
Unterstützte Mindestversion (Server) Windows 10 Build 20348
Header commdlg.h

Siehe auch

CCHookProc

ChooseColor

Allgemeine Dialogfeldbibliothek

Konzept

MAKEINTRESOURCE

Referenz