MFC

[MFC] 모달 vs 모달리스

성엽이 2014. 2. 4. 09:35

-모달(Modal) 대화상자
:대화상자가 떠 있는 상태에서 대화상자 바깥쪽의 다른 부분을 클릭하면 삑 소리를 냄
:대화상자가 출력되면 사용자가 대화상자를 닫기 전까지 해당 응용프로그램에서 다른 작업을 할 수 없음

-모달리스(Modaless) 대화상자
:대화상자가 화면에 출력되어 있는 채로 사용자가 얼마든지 응용프로그램에서 다른 작업을 할 수 있음

-모달 대화상자는 매번 대화상자를 띄워서 입력하고 실행해야 하기 때문에 불편한데
모달리스 대화상자는 계속 띄워놓고 다른 작업을 할 수 있기 때문에 편하다
단, 유저사용범위를 제한해주려면 모달을 사용하는 경우가 좋을 것 같다.

-모달 대화상자는 DoModal() 함수를 호출하고 모달리스 대화상자는 Create() 함수를 호출한다


 

 

 

 

예시

 

void BCMatchingDlg::OnEditBoxdatasearch()
{
     // TODO: 여기에 명령 처리기 코드를 추가합니다.
      if(dlg.DoModal()==IDOK)
      {
           // OK Action

           OnOK();
      }
      else
     {
           // Cancel Action
     }