2012-12-17 3 views
0

주 대화 상자에 edit control에 잘못된 데이터가있을 때 팝업 대화 상자가 나타납니다.확인을 누른 후 MFC 대화 상자가 계속됩니다.

CDlgError dlgError = new CDlgError(this); 
dlgError.Create(CDlgError::IDD, this); 
dlgError.m_staticMessage.SetWindowTextA("Error message!"); 
dlgError.ShowWindow(SW_SHOW); 

//more code 

나는 내가 내 CDlgError 팝업 대화 상자에서 OK button를 누르면 후에 나머지 코드가 실행되도록 할 수 있습니다. 내가 어떻게 할 수 있니?

+1

'ShowWindow' 대신'DoModal'을 호출하십시오. –

답변

3

CreateShowWindow 대신 DoModal을 사용하여 오류 대화 상자를 표시하십시오. 예 :

CDlgError dlgError = new CDlgError(this); 
dlgError.m_strMessage = "Error message!"; 
dlgError.DoModal(); 

당신이 코드에서 볼 수 있듯이 당신이 텍스트를 전달하고 제어 모달 전에 초기화되지 않기 때문에 CDlgError::OnInitDialog 내부 메시지 레이블을 설정해야합니다.

0

modalless 대화 상자를 보여주는 Create을 사용하여 대화 상자를 만듭니다 (대화 상자가 열려 있어도 응용 프로그램의 다른 부분을 클릭 할 수 있음). 모달 대화 상자는 대화 상자가 닫힐 때까지 응용 프로그램의 아무 부분이나 클릭 할 수없는 대화 상자입니다. 이렇게하려면 create 대신 DoModal 함수를 사용하십시오.

관련 문제