CColorDialog::OnColorOK
Substituição para validar a cor inserida na caixa de diálogo.
virtual BOOL OnColorOK( );
Valor de retorno
Diferente de zero se a caixa de diálogo é demitida; se não 0 para aceitar a cor que foi inserida.
Comentários
Substituir essa função somente se você desejar fornecer validação de cores personalizado que o usuário seleciona na caixa de diálogo de cor.
O usuário pode selecionar uma cor por um dos dois seguintes métodos:
Clicando em uma cor em paleta de cores.Os valores de cor RGB selecionado são refletidos em caixas de edição apropriadas de RGB.
Inserindo valores nas caixas de edição de RGB
Substitua OnColorOK permite que você rejeitar uma cor que o usuário insere em uma caixa de diálogo comuns de cor para qualquer motivo específico do aplicativo.
Normalmente, você não precisa usar essa função porque a estrutura fornece validação padrão cores e exibe uma caixa de mensagem se uma cor inválido é inserida.
Você pode chamar SetCurrentColor de dentro de OnColorOK para forçar uma seleção de cor.Uma vez que OnColorOK foi acionado (ou seja, os cliques OK do usuário para aceitar a alteração de cor), você pode chamar GetColor para obter o valor de cor RGB novo.
Exemplo
// 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
Cabeçalho: afxdlgs.h