CHOOSECOLORA 结构 (Rich Edit 2.0)
包含 ChooseColor 函数用于初始化 “颜色 ”对话框的信息。 用户关闭对话框后,系统会返回有关此结构中用户选择的信息。
语法
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;
成员
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*
指向包含红色、绿色、蓝色 (RGB) 对话框中自定义颜色框值的 16 个值的数组的指针。 如果用户修改这些颜色,系统会使用新的 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 |
另请参阅
概念性
引用