CColorDialog::OnColorOK
验证颜色的重写联接对话框。
virtual BOOL OnColorOK( );
返回值
非零,如果对话框不应关闭;否则接受输入颜色为0。
备注
重写此函数,只有在要为用户提供在颜色对话框中选择颜色的自定义验证。
用户可以通过以下两种方法之一选择颜色:
单击颜色调色板上。选定的颜色的RGB值在适当的RGB然后反映编辑框。
在RGB的输入的值编辑框
重写 OnColorOK 可以拒绝用户输入任何特定的原因常用颜色对话框的颜色。
通常,不需要使用此功能,因为框架提供颜色的默认验证并显示消息框,如果一个无效的颜色进行编码。
可以调用 SetCurrentColor 从 OnColorOK 强制颜色选择。在 OnColorOK 会激发时(即用户单击接受颜色更改的 好 ),则可以调用 GetColor 获取新颜色的RGB值。
示例
// Override OnColorOK to validate the color entered to the
// Red, Green, and Blue edit controls. If the color
// is BLACK (i.e. RGB(0, 0,0)), then force the current color
// selection to be the color initially selected when the
// dialog box is created. The color dialog won't close so
// user can enter a new color.
BOOL CMyColorDlg::OnColorOK()
{
// Value in Red edit control.
COLORREF clrref = GetColor();
if (RGB(0, 0, 0) == clrref)
{
AfxMessageBox(_T("BLACK is not an acceptable color. ")
_T("Please enter a color again"));
// GetColor() returns initially selected color.
SetCurrentColor(GetColor());
// Won't dismiss color dialog.
return TRUE;
}
// OK to dismiss color dialog.
return FALSE;
}
要求
Header: afxdlgs.h