CColorDialog::OnColorOK
Zastąp kolor weszła w oknie dialogowym potwierdzenie.
virtual BOOL OnColorOK( );
Wartość zwracana
Niezerowa, jeśli okno dialogowe nie powinny odrzucone; inaczej 0, aby zaakceptować kolor, który został wprowadzony.
Uwagi
Tej funkcji należy zastąpić tylko wtedy, gdy zachodzi potrzeba zapewnienia poprawności niestandardowego koloru wybranego przez użytkownika w oknie dialogowym kolor.
Użytkownik może wybrać kolor przez jeden z dwóch następujących metod:
Klikając przycisk kolor na palecie kolorów.Wybrany kolor RGB wartości następnie są odzwierciedlane w odpowiednich polach edycji RGB.
Wprowadzanie wartości RGB pola edycji.
Przesłanianie OnColorOK pozwala na odrzucanie koloru użytkownik wprowadzi w wspólne okno dialogowe kolor z jakiegokolwiek powodu specyficznych dla aplikacji.
Zazwyczaj nie trzeba użyć tej funkcji, ponieważ w ramach przewiduje zatwierdzenie domyślne kolory i wyświetla okno komunikatu, jeśli wprowadzono nieprawidłowy kolor.
Można wywołać SetCurrentColor z poziomu OnColorOK wymusić wybór kolorów.Raz OnColorOK został zwolniony (czyli użytkownik kliknie OK zaakceptować zmianę kolorów), można wywołać GetColor uzyskać wartość RGB koloru.
Przykład
// 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;
}
Wymagania
Nagłówek: afxdlgs.h