CColorDialog::OnColorOK
Überschreiben Sie, um die Farbe zum Überprüfen des in das Dialogfeld.
virtual BOOL OnColorOK( );
Rückgabewert
Ungleich 0 (null), wenn das Dialogfeld nicht geschlossen wird, Andernfalls 0, um die Farbe akzeptiert, die eingeführt wurde.
Hinweise
Überschreiben Sie diese Funktion nur, wenn Sie benutzerdefinierte Validierung der Farbe bereitstellen möchten, die der Benutzer im Dialogfeld auswählen.
Der Benutzer kann eine Farbe durch eine der beiden folgenden Methoden auswählen:
Klicken auf eine Farbe auf der Farbpalette.Die ausgewählten das RGB-Werte der Farbe werden dann in den entsprechenden RGB-Eingabefeldern wiedergegeben.
Eingabe von Werten in den RGB-Eingabefeldern
Das Überschreiben von OnColorOK ermöglicht Ihnen, eine Farbe ablehnen, die der Benutzer in ein gemeinsames Dialogfeld für jeden anwendungsspezifischen Grund eingibt.
Normalerweise müssen Sie nicht, um diese Funktion zu verwenden, da das Framework Standardvalidierung von Farben und stellt ein Meldungsfeld anzeigt, wenn eine ungültige Farbe eingegeben wird.
Sie können SetCurrentColor aus OnColorOK aufrufen, um eine Farbauswahl zu erzwingen.Sobald OnColorOK (das heißt, der Benutzer auf klickt OK, um die Farbänderung zu akzeptieren) ausgelöst wurde, können Sie GetColor aufrufen, um den RGB-Wert der neuen Farbe abzurufen.
Beispiel
// 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;
}
Anforderungen
Header: afxdlgs.h