CHOOSECOLOR
The CHOOSECOLOR
structure contains information the ChooseColor12A9RY_ function uses to initialize the Color
common dialog box. After the user closes the dialog box, the system returns
information about the user s selection in this structure.
typedef struct {
// cc
DWORD lStructSize;
HWND hwndOwner;
HWND hInstance;
COLORREF rgbResult;
COLORREF* lpCustColors;
DWORD Flags;
LPARAM lCustData;
LPCCHOOKPROC lpfnHook;
LPCTSTR lpTemplateName;
} CHOOSECOLOR;
Members
lStructSize
Specifies the
length, in bytes, of the structure.
hwndOwner
Identifies
the window that owns the dialog box. This member can be any valid window
handle, or it can be NULL if the dialog box has no owner.
hInstance
If the
CC_ENABLETEMPLATEHANDLE flag is set in the Flags member, hInstance
is the handle of a memory object containing a dialog box template. If the
CC_ENABLETEMPLATE flag is set, hInstance identifies a module that
contains a dialog box template named by the lpTemplateName member. If
neither CC_ENABLETEMPLATEHANDLE nor CC_ENABLETEMPLATE is set, this member is
ignored.
rgbResult
If the
CC_RGBINIT flag is set, rgbResult specifies the color initially selected
when the dialog box is created. If the specified color value is not among the
available colors, the system selects the nearest solid color available. If rgbResult
is zero or CC_RGBINIT is not set, the initially selected color is black. If the
user clicks the OK button, rgbResult specifies the user s color
selection.
lpCustColors
Pointer to an
array of 16 COLORREF values that contain red, green, blue (RGB) values for the
custom color boxes in the dialog box. If the user modifies these colors, the
system updates the array with the new RGB values. To preserve new custom colors
between calls to the ChooseColor
Flags
A set of bit
flags that you can use to initialize the Color common dialog box. When the
dialog box returns, it sets these flags to indicate the user s input. This
member can be a combination of the following flags:
Flag |
Meaning |
CC_ENABLEHOOK |
Enables the
hook procedure specified in the lpfnHook member of this structure.
This flag is used only to initialize the dialog box. |
CC_ENABLETEMPLATE |
Indicates
that the hInstance and lpTemplateName members specify a dialog
box template to use in place of the default template. This flag is used only
to initialize the dialog box. |
CC_ENABLETEMPLATEHANDLE |
Indicates
that the hInstance member identifies a data block that contains a
preloaded dialog box template. The system ignores the lpTemplateName
member if this flag is specified. This flag is used only to initialize the
dialog box. |
CC_FULLOPEN |
Causes the
dialog box to display the additional controls that allow the user to create
custom colors. If this flag is not set, the user must click the Define Custom
Color button to display the custom color controls. |
CC_PREVENTFULLOPEN |
Disables
the Define Custom Colors button. |
CC_RGBINIT |
Causes the
dialog box to use the color specified in the rgbResult member as the
initial color selection. |
CC_SHOWHELP |
Causes the
dialog box to display the Help button. The hwndOwner member must
specify the window to receive the HELPMSGSTRING1N5CG6 registered messages that the dialog box
sends when the user clicks the Help button. |
lCustData
Specifies
application-defined data that the system passes to the hook procedure
identified by the lpfnHook member. When the system sends the WM_INITDIALOG
lpfnHook
Pointer to a CCHookProc
lpTemplateName
Pointer to a
null-terminated string that names the dialog box template resource in the
module identified by the hInstance member. This template is substituted
for the standard dialog box template. For numbered dialog box resources, lpTemplateName
can be a value returned by the MAKEINTRESOURCE macro. This member is
ignored unless the CC_ENABLETEMPLATE flag is set in the Flags member.
See Also