CHOOSECOLORW 结构 (Rich Edit 2.0)
包含 ChooseColor 函数用于初始化 “颜色 ”对话框的信息。 用户关闭对话框后,系统会返回有关用户在此结构中选择的信息。
语法
typedef struct tagCHOOSECOLORW {
DWORD lStructSize;
HWND hwndOwner;
HWND hInstance;
COLORREF rgbResult;
COLORREF *lpCustColors;
DWORD Flags;
LPARAM lCustData;
LPCCHOOKPROC lpfnHook;
LPCWSTR lpTemplateName;
LPEDITMENU lpEditInfo;
} CHOOSECOLORW, *LPCHOOSECOLORW;
成员
lStructSize
类型:DWORD
结构的长度(以字节为单位)。
hwndOwner
类型:HWND
拥有对话框的窗口的句柄。 此成员可以是任何有效的窗口句柄,如果对话框没有所有者,也可以为 NULL 。
hInstance
类型:HWND
如果在 Flags 成员中设置了CC_ENABLETEMPLATEHANDLE标志,则 hInstance 是包含对话框模板的内存对象的句柄。 如果设置了 CC_ENABLETEMPLATE 标志, 则 hInstance 是包含由 lpTemplateName 成员命名的对话框模板的模块的句柄。 如果 CC_ENABLETEMPLATEHANDLE 和 CC_ENABLETEMPLATE 均未设置,则忽略此成员。
rgbResult
类型: COLORREF
如果设置了 CC_RGBINIT 标志, rgbResult 将指定创建对话框时最初选择的颜色。 如果指定的颜色值不在可用颜色中,则系统会选择最接近的可用纯色。 如果 rgbResult 为零或 未设置CC_RGBINIT ,则最初选择的颜色为黑色。 如果用户单击“ 确定 ”按钮, rgbResult 将指定用户的颜色选择。 若要创建 COLORREF 颜色值,请使用 RGB 宏。
lpCustColors
类型: COLORREF*
指向 16 个值的指针,这些值包含对话框中自定义颜色框的红色、绿色、蓝色 (RGB) 值。 如果用户修改这些颜色,系统会使用新的 RGB 值更新数组。 若要在调用 ChooseColor 函数之间保留新的自定义颜色,应为数组分配静态内存。 若要创建 COLORREF 颜色值,请使用 RGB 宏。
Flags
类型:DWORD
一组可用于初始化“ 颜色 ”对话框的位标志。 当对话框返回时,它会设置这些标志以指示用户的输入。 此成员可以是以下标志的组合。
值 | 含义 |
---|---|
|
使对话框显示基本颜色集中的所有可用颜色。 |
|
启用在此结构的 lpfnHook 成员中指定的挂钩过程。 此标志仅用于初始化对话框。 |
|
hInstance 和 lpTemplateName 成员指定用于代替默认模板的对话框模板。 此标志仅用于初始化对话框。 |
|
hInstance 成员标识包含预加载对话框模板的数据块。 如果指定了此标志,系统将忽略 lpTemplateName 成员。 此标志仅用于初始化对话框。 |
|
使对话框显示允许用户创建自定义颜色的其他控件。 如果未设置此标志,用户必须单击“ 定义自定义颜色 ”按钮以显示自定义颜色控件。 |
|
禁用“ 定义自定义颜色 ”按钮。 |
|
使对话框使用 rgbResult 成员中指定的颜色作为初始颜色选择。 |
|
使对话框显示“帮助”按钮。 hwndOwner 成员必须指定窗口,以接收当用户单击“帮助”按钮时对话框发送的 HELPMSGSTRING 注册消息。 |
|
使对话框在基本颜色集中仅显示纯色。 |
lCustData
类型:LPARAM
系统传递给 由 lpfnHook 成员标识的挂钩过程的应用程序定义数据。 当系统将 WM_INITDIALOG 消息发送到挂钩过程时,消息的 lParam 参数是指向创建对话框时指定的 CHOOSECOLOR 结构的指针。 挂钩过程可以使用此指针获取 lCustData 值。
lpfnHook
类型: LPCCHOOKPROC
指向 CCHookProc 挂钩过程的指针,该过程可以处理用于对话框的消息。 除非在 Flags 成员中设置了CC_ENABLEHOOK标志,否则将忽略此成员。
lpTemplateName
类型: LPCTSTR
hInstance 成员标识的模块中对话框模板资源的名称。 此模板将替换为标准对话框模板。 对于带编号的对话框资源, lpTemplateName 可以是 MAKEINTRESOURCE 宏返回的值。 除非在 Flags 成员中设置了 CC_ENABLETEMPLATE 标志,否则将忽略此成员。
lpEditInfo
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 10内部版本 20348 |
最低受支持的服务器 | Windows 10内部版本 20348 |
标头 | commdlg.h |
另请参阅
概念性
引用