CColorDialog::OnColorOK

验证颜色的重写联接对话框。

virtual BOOL OnColorOK( );

返回值

非零,如果对话框不应关闭;否则接受输入颜色为0。

备注

重写此函数,只有在要为用户提供在颜色对话框中选择颜色的自定义验证。

用户可以通过以下两种方法之一选择颜色:

  • 单击颜色调色板上。选定的颜色的RGB值在适当的RGB然后反映编辑框。

  • 在RGB的输入的值编辑框

重写 OnColorOK 可以拒绝用户输入任何特定的原因常用颜色对话框的颜色。

通常,不需要使用此功能,因为框架提供颜色的默认验证并显示消息框,如果一个无效的颜色进行编码。

可以调用 SetCurrentColorOnColorOK 强制颜色选择。在 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

请参见

参考

CColorDialog选件类

层次结构图