CColorDialog::OnColorOK
Reemplace para validar color escrito en el cuadro de diálogo.
virtual BOOL OnColorOK( );
Valor devuelto
Distinto de cero si se descarta el cuadro de diálogo; si no 0 para aceptar el color que ha especificado.
Comentarios
Invalide esta función solo si desea proporcionar validación personalizada de color que el usuario selecciona en el cuadro de diálogo color.
El usuario puede seleccionar un color por uno de los dos métodos siguientes:
Hacer clic en el color en la paleta de colores.Los valores seleccionados RGB de color se reflejan en los cuadros de edición adecuados RGB.
Especificar valores en los cuadros de edición RGB
Reemplazar OnColorOK permite rechazar color que el usuario escribe en un cuadro de diálogo color común por cualquier razón específica de la aplicación.
Normalmente, no necesita utilizar esta función porque el marco proporciona validación de colores predeterminada y muestra un cuadro de mensaje si se escribe color no válido.
Puede llamar a SetCurrentColor dentro de OnColorOK para forzar una selección de color.Una vez que se ha desencadenado OnColorOK (es decir, el usuario hace clic en Aceptar para aceptar el cambio de color), puede llamar GetColor para obtener el valor RGB de nuevo color.
Ejemplo
// 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;
}
Requisitos
encabezado: afxdlgs.h