CHOOSECOLOR

【勇芳软件工作室】汉化HomePreviousNext

CHOOSECOLOR结构包含ChooseColor函数用于初始化颜色公共对话框的信息。用户关闭对话框后,系统会在此结构中返回有关用户选择的信息。

typedef struct { // cc

DWORD lStructSize;

HWND hwndOwner;

HWND hInstance;

COLORREF rgbResult;

COLORREF* lpCustColors;

DWORD Flags;

LPARAM lCustData;

LPCCHOOKPROC lpfnHook;

LPCTSTR lpTemplateName;

} CHOOSECOLOR;

会员

lStructSize

指定结构的长度(以字节为单位)。

hwndOwner

标识拥有该对话框的窗口。该成员可以是任何有效的窗口句柄,如果对话框没有所有者,它可以为NULL。

的hInstance

如果在成员中设置了CC_ENABLETEMPLATEHANDLE标志,则的hInstance是包含对话框模板的内存对象的句柄。如果设置了CC_ENABLETEMPLATE标志,的hInstance标识包含由lpTemplateName成员命名的对话框模板的模块。如果没有设置CC_ENABLETEMPLATEHANDLE和CC_ENABLETEMPLATE,则该成员将被忽略。

rgbResultlb

如果设置了CC_RGBINIT标志,rgbResultlb指定创建对话框时最初选择的颜色。如果指定的颜色值不在可用颜色之间,系统将选择最近的可用颜色。如果rgbResultlb为零或CC_RGBINIT未设置,则初始选择的颜色为黑色。如果用户单击确定按钮,rgbResultlb指定用户的颜色选择。

lpCustColors

指向16个COLORREF值的数组,其中包含对话框中自定义颜色框的红,绿,蓝(RGB)值。如果用户修改这些颜色,系统将使用新的RGB值更新数组。要在调用ChooseColor函数之前保留新的自定义颜色,您应该为数组分配静态内存。

您可以使用一组位标记来初始化颜色公共对话框。当对话框返回时,它设置这些标志以指示用户的输入。该成员可以是以下标志的组合:

含义
CC_ENABLEHOOK启用此结构的lpfnHook成员中指定的挂接过程。该标志仅用于初始化对话框。
CC_ENABLETEMPLATE表示的hInstancelpTemplateName成员指定要用于替换默认模板的对话框模板。该标志仅用于初始化对话框。
CC_ENABLETEMPLATEHANDLE表示的hInstance成员标识包含预加载对话框模板的数据块。如果指定了该标志,系统将忽略lpTemplateName成员。该标志仅用于初始化对话框。
CC_FULLOPEN使对话框显示允许用户创建自定义颜色的其他控件。如果未设置此标志,用户必须单击“定义自定义颜色”按钮显示自定义颜色控件。
CC_PREVENTFULLOPEN禁用定义自定义颜色按钮。
CC_RGBINIT使对话框使用rgbResultlb成员中指定的颜色作为初始颜色选择。
CC_SHOWHELP导致对话框显示帮助按钮。hwndOwner成员必须指定窗口以接收当用户单击“帮助”按钮时对话框发送的HELPMSGSTRING注册消息。

lCustData

指定系统传递给由lpfnHook成员标识的挂接过程的应用程序定义的数据。当系统向挂接过程发送WM_INITDIALOG消息时,消息的【lParam的】参数是指向创建对话框时指定的CHOOSECOLOR结构的指针。挂钩过程可以使用此指针获取lCustData值。

lpfnHook

指向CCHookProc挂接过程的指针,可以处理针对该对话框的消息。除非在成员中设置了CC_ENABLEHOOK标志,否则该成员将被忽略。

lpTemplateName

指向由的hInstance成员标识的模块中的对话框模板资源的以null结尾的字符串。此模板代替标准对话框模板。对于编号的对话框资源,lpTemplateName可以是MAKEINTRESOURCE宏返回的值。除非在成员中设置了CC_ENABLETEMPLATE标志,否则此成员将被忽略。

也可以看看

CCHookProc, ChooseColor, MAKEINTRESOURCE,WM_INITDIALOG