CDialog

CDialog 클래스는 화면에 대화 상자를 표시 하는 데 사용 되는 기본 클래스가입니다. 대화 상자는 두 가지 종류의: 모달 및 모덜리스. 모달 대화 상자는 응용 프로그램을 계속 하기 전에 사용자가 닫아야 합니다. 모덜리스 대화 상자를 사용 하면 대화 상자를 표시 하 고 다른 작업을 취소 하거나 대화 상자를 제거 하지 않고 반환。

CDialog 개체 대화 상자 템플릿을 CDialog의 조합 이다-클래스를 파생 합니다. 대화 상자 편집기를 사용 하 여 대화 상자 템플릿을 작성 하 고 리소스에 저장 다음 Classwizard를 사용 하 여 CDialog 에서 파생 된 클래스를 만들。

다른 어떤 창 처럼 대화 상자는 Windows에서 메시지를 받습니다. 대화 상자에서 대화 상자 컨트롤에서 알림 메시지를 처리 하는 이후 사용자 대화 상자와 상호 작용 하는 방법에 특히 관심이 있습니다. ClassWizard 대화 상자에 있는 각 컨트롤에 의해 생성 된 잠재적인 메시지를 통해 탐색 하 고 처리 하고자 하는 메시지를 선택할 수 있습니다. 다음 Classwizard는 당신을 위해 새 클래스에 적절 한 메시지 맵 항목 및 메시지 처리기 멤버 함수를 추가합니다. 응용 프로그램별 코드 처리기 멤버 함수를 작성 해야。

원하는 경우 작성할 수 있습니다 항상 멤버 함수와 메시지 맵 항목 자신 Classwizard를 사용 하는 대신。

모든 하지만 가장 사소한 대화 상자에서 대화 상자 컨트롤에 사용자가 입력 한 데이터를 저장 하거나 사용자에 대 한 데이터를 표시 하려면 파생 된 대화 상자 클래스에 멤버 변수를 추가 합니다. ClassWizard 데이터에 매핑할 수 있는 대화 상자에서 이러한 컨트롤을 통해 탐색 하 고 각 컨트롤의 멤버 변수를 만들 것인지 묻습니다. 동시에, 가변 유형 및 각 변수에 대 한 값의 허용 범위를 선택합니다. 파생 된 대화 상자 클래스에 멤버 변수를 추가 하는 마법사。

Classwizard는 다음 데이터 맵을 멤버 변수와 대화 상자의 컨트롤 사이 데이터 교환을 자동으로 처리를 씁니다. 데이터 맵 적절 한 값으로 대화 상자의 컨트롤을 초기화 하 고 데이터를 검색 하 고 데이터의 유효성을 검사 하는 기능을 제공 합니다.

모달 대화 상자를 만들려면 파생 된 대화 상자 클래스에 대 한 생성자를 사용 하 여 스택에 개체를 생성 하 고 대화 창 및 해당 컨트롤을 만드는 DoModal 을 호출 합니다. 모덜리스 대화 상자를 생성 하고자 하는 경우 대화 상자 클래스의 생성자에서 Create 를 호출합니다。

사용 하 여 메모리에 서식 파일을 만들 수도 DLGTEMPLATE 데이터 구조 Win32 SDK 설명서에 설명 된 대로. CDialog 개체를 생성 한 후 CreateIndirect 모덜리스 대화 상자를 만드는 호출 하거나 모달 대화 상자를 만드는 InitModalIndirectDoModal 호출。

Classwizard에서 ClassWizard 새 대화 상자 클래스에 추가 하는 CWnd::DoDataExchange 를 재정의 하는 교환 및 유효성 검사 데이터 지도를 씁니다. 교환 및 유효성 검사 기능에 대 한 자세한 CWnd 에서 DoDataExchange 멤버 함수를 참조 하십시오.

프로그래머와 프레임 워크 호출 하지 DoDataExchange 직접 CWnd::UpdateData 에 대 한 호출을 통해。

모달 대화 상자를 닫으려면 확인 단추를 클릭 하면 UpdateData 를 호출 하는 프레임 워크. (데이터 검색 되지 않습니다 취소 단추를 클릭 하는 경우.) OnInitDialog 기본 구현 UpdateData 컨트롤의 초기 값을 설정 하려면 호출 합니다. 일반적으로 추가 컨트롤을 초기화 하려면 OnInitDialog 재정의 합니다. 모든 대화 상자 컨트롤 만들고 직전 대화 상자가 표시 됩니다 후 OnInitDialog 라고。

모달 또는 모덜리스 대화 상자를 실행 하는 동안 언제 든 지 CWnd::UpdateData 를 호출할 수 있습니다.

대화 상자를 직접 개발 하는 경우 필요한 멤버 변수 파생 된 대화 상자 클래스에 자신을 추가한 설정 하거나 이러한 값을 멤버 함수 추가。

Classwizard에 자세한 내용은 참조 ClassWizard를 사용 하 여 Visual c + + 프로그래머 가이드

응용 프로그램에서 대화 상자에 대 한 배경 색을 설정 하려면 전화 CWinApp::SetDialogBkColor

사용자가 OK 또는 Cancel 단추를 누를 때 또는 코드에서 EndDialog 멤버 함수를 호출 하는 때 모달 대화 상자가 자동으로 닫힙니다.

모덜리스 대화 상자를 구현 하면 항상 OnCancel 멤버 함수를 재정의 하 고 그 안에서 DestroyWindow 에서 호출 합니다. EndDialog, 보이지 않는 대화 상자를 만들 것입니다 하지만 그것을 파괴 하지 않습니다를 호출 하기 때문에 CDialog::OnCancel, 기본 클래스를 호출 하지 마십시오. 또한 삭제 하려면 모덜리스 대화 상자는 와 함께 일반적으로 할당 된 이후 PostNcDestroy 모덜리스 대화 상자를 재정의 해야 합니다. 모달 대화 상자 프레임에 일반적으로 건설 하는 고 PostNcDestroy 정리 필요 하지 않습니다.

CDialog에서 자세한 내용은 다음 웹 사이트를 참조 하십시오. 문서 대화 상자 항목 Visual c + + 프로그래머 가이드

# include lt;afxwin.h>

클래스 멤버 |nbsp; 기본 클래스 (ko) | 계층 구조 차트(&N)

Samples    MFC Sample DBFETCH MFC Sample DLGCBR32 MFC Sample DLGTEMPL MFC Sample EXTBIND MFC Sample FTPTREE MFC Sample HELLO MFC Sample MDIBIND MFC Sample VCTERM

Index