Поделиться через


CColorDialog::OnColorOK

Переопределение для проверки цвета, введенный в диалоговое окно.

virtual BOOL OnColorOK( );

Возвращаемое значение

Ненулевой если диалоговое окно должно закрыто; в противном случае – значение 0, чтобы принять цвет, который был введен.

Заметки

Переопределите эта функция, только если необходимо предоставить пользовательскую проверку цвета, выбранные пользователем в диалоговом окне цвет.

Пользователь может выбрать цвет одним из следующих методов: 2

  • Щелкните цвет в палитре цвет. 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

См. также

Ссылки

Класс CColorDialog

Диаграмма иерархии