Skip to content

CDialog

다이얼로그(Dialog) 생성방법에 대한 설명.

대화상자(Dialog)의 종류

대화상자(Dialog)는 아래와 같이 두 가지 종류가 있다.

모달(Modal) 대화상자(Dialog).
대화상자가 출력되어 있는 동안에는 그 대화상자가 프로그램의 모든 제어권을 독점하고 있어, 대화상자가 종료되기 전에는 다른 작업을 할수 없는 대화상자이다.
모달리스(Modaless) 대화상자(Dialog).
대화상자가 출력되어 있어도 이미 대화상자가 프로그램의 제어권을 독점하지 않아, 대화상자를 잠시 옆으로 밀어놓고 다른 작업을 할수 있는 대화상자이다.

-

모달 (Modal)

모달리스 (Modaless)

생성방법

CDialog::DoModal()

CDialog::Create()

소멸방법

CDialog::EndDialog() (대화상자 구현 클래스에서 사용가능.)

CWnd::DestroyWindow()

인스턴스선언

스택(지역변수), 힙(동적할당)

힙(동적할당)

Sample

CModalDlg dlg;
dlg.~DoModal();
CModalessDlg * dlg = new CModalessDlg;
dlg->Create();
dlg->~ShowWindow(~SW_SHOW);
dlg->~DestoryWnd();
delete dlg;

모달리스(Modaless)의 대화상자 상태(Status) 확인방법

아래의 메서드를 사용하여 대화상장(Dialog)의 상태를 확인할 수 있다.

반환값

CWnd::IsWindowEnabled()

CWnd::IsWindowVisible()

TRUE

대화상자 사용준비가 완료.

대화상자가 실제로 보인다.

FALSE

대화상자 사용준비가 완료되지 못했다.

대화상자가 보이지 않는다.

See also

Favorite site