CColorDialog::OnColorOK
색 대화 상자에 입력 유효성 검사를 무시 합니다.
virtual BOOL OnColorOK( );
반환 값
0이 대화 상자를 해제할 수 있습니다. 입력 된 색을 적용 합니다 그렇지 않으면 0입니다.
설명
색 대화 상자에서 사용자를 선택 하는 색의 사용자 지정 유효성 검사를 제공 하는 경우에이 함수를 재정의 합니다.
사용자는 다음 두 가지 방법 중 하나를 사용 하 여 색상을 선택할 수 있습니다.
색상표에서 색을 클릭 합니다.선택한 색의 RGB 값 다음 해당 RGB 편집 상자에 반영 됩니다.
RGB 입력 값 입력란
재정의 OnColorOK 사용자 입력 공통 색 대화 상자에는 응용 프로그램 특정 이유로 색을 거부할 수 있습니다.
일반적으로 프레임 워크 색의 기본 유효성 검사를 제공 하 고 잘못 된 색을 입력 하면 메시지 상자를 표시 하므로이 함수를 사용 하지 않아도 됩니다.
호출할 수 있는 SetCurrentColor 내에서 OnColorOK 색상 선택 하도록 합니다.한 번 OnColorOK 발생 (즉, 사용자가 클릭 확인 색상 변경 내용을 적용 합니다)를 호출할 수 있습니다 GetColor 새 색의 RGB 값을 얻을 수.
예제
// 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;
}
요구 사항
헤더: afxdlgs.h