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