CColorDialog::OnColorOK
Substitution pour valider la couleur entrée dans la boîte de dialogue.
virtual BOOL OnColorOK( );
Valeur de retour
Une valeur différente de zéro si la boîte de dialogue est fermée ; sinon 0 pour accepter la couleur écrite.
Notes
Remplacez cette fonction uniquement si vous souhaitez fournir une validation personnalisée de la couleur que l'utilisateur sélectionne dans la boîte de dialogue de couleur.
L'utilisateur peut sélectionner une couleur par l'une des deux méthodes suivantes :
Cliquer sur une couleur dans la palette de couleurs.Les valeurs RVB de la couleur sélectionnée sont ensuite reflétées dans les zones d'édition appropriées RVB.
Valeurs entrantes dans les zones d'édition RVB
Substituer OnColorOK vous permet de refuser une couleur que l'utilisateur entre dans une boîte de dialogue commune de couleur pour une raison spécifique à l'application.
Normalement, vous n'avez pas besoin d'utiliser cette fonction parce que l'infrastructure fournit la validation de couleurs par défaut et affiche un message si une couleur non valide est entrée.
Vous pouvez appeler SetCurrentColor d' OnColorOK pour forcer une sélection de couleurs.Une fois qu' OnColorOK a été déclenché (autrement dit, les clics OK d'utilisateur pour accepter la modification de couleur), vous pouvez appeler GetColor pour obtenir la valeur RVB de la couleur.
Exemple
// 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;
}
Configuration requise
Header: afxdlgs.h