CDialog::DoModal
모달 대화 상자를 호출 하 고 완료 되 면 대화 상자 결과 반환 하려면이 멤버 함수를 호출 합니다.
virtual INT_PTR DoModal( );
반환 값
int 의 값을 지정 하는 값은 nResult 에 전달 된 매개 변수는 CDialog::EndDialog 대화 상자를 사용 하는 멤버 함수. 대화 상자에서 함수를 만들 수 없는 경우 반환 값은-1입니다 또는 IDABORT 경우에 다른 오류가 발생 하는 경우는 출력 창 에서 오류 정보를 포함할 GetLastError.
설명
이 멤버 함수 대화 상자가 활성화 되어 있는 동안 사용자와의 모든 상호 작용을 처리 합니다. 이 대화 상자는 모달이 됩니다. 즉, 대화 상자가 닫힐 때까지 사용자 다른 창과 상호 작용할 수 없습니다.
사용자는 누름 단추 대화 상자에서 확인 또는 취소를 메시지 처리기 멤버 함수 중 하나 처럼 클릭 하면 OnOK 또는 OnCancel, 대화 상자를 닫을 수 라고 합니다. 기본 OnOK 멤버 함수 검증 및 대화 상자 데이터를 업데이트 하 고 결과에 대화 상자를 닫으려면 IDOK, 기본 OnCancel 멤버 함수를 대화 상자 결과를 닫습니다 IDCANCEL 확인 하거나 대화 상자 데이터를 업데이트 하지 않고. 해당 동작을 변경 하는 이러한 메시지 처리기 함수를 재정의할 수 있습니다.
참고
PreTranslateMessage이제 모달 대화 상자의 메시지 처리를 위해 호출 됩니다.
예제
void CMyDialog::OnMenuShowAboutDialog()
{
// Construct the dialog box passing the
// ID of the dialog template resource
CDialog aboutDlg(IDD_ABOUTBOX);
// Create and show the dialog box
INT_PTR nRet = -1;
nRet = aboutDlg.DoModal();
// Handle the return value from DoModal
switch (nRet)
{
case -1:
AfxMessageBox(_T("Dialog box could not be created!"));
break;
case IDABORT:
// Do something
break;
case IDOK:
// Do something
break;
case IDCANCEL:
// Do something
break;
default:
// Do something
break;
};
}
요구 사항
헤더: afxwin.h