“颜色”对话框返回用户选择的颜色的RGB值。用户可以从由显示驱动器确定的一组基本颜色或从一组自定义颜色中选择。您必须指定初始的自定义颜色集,但您可以允许用户创建自己的自定义颜色。
您可以通过初始化CHOOSECOLOR结构并将结构传递给ChooseColor函数来创建和显示“颜色”对话框。
您可以部分打开“颜色”对话框以显示用户可以从中选择的基本和自定义颜色,也可以完全打开该对话框以显示允许用户创建自定义颜色的其他控件。下图显示了完全打开的颜色对话框。
如果用户单击确定按钮,ChooseColor返回TRUE。CHOOSECOLOR结构的rgbResultlb成员包含用户选择的颜色的RGB颜色值。RGB颜色值指定组成所选颜色的各个红色,绿色和蓝色的强度。各个值的范围为0到255。使用GetRValue,GetBValue和GetGValue宏从RGB颜色值中提取单个颜色。
如果用户取消颜色对话框或发生错误,ChooseColor返回FALSE,并且未定义rgbResultlb成员。要确定错误的原因,请调用CommDlgExtendedError函数来检索扩展错误值。