파생된 창 클래스
에서 직접 창을 만들거나 에서 CWnd
새 창 클래스를 파생시킬 수 있습니다 CWnd
. 일반적으로 고유한 사용자 지정 창을 만드는 방법입니다. 그러나 프레임워크 프로그램에 사용되는 대부분의 창은 MFC에서 제공하는 파생 프레임 창 클래스 중 CWnd
하나에서 만들어집니다.
프레임 창 클래스
CFrameWnd
단일 문서 및 해당 뷰를 프레임하는 SDI 프레임 창에 사용됩니다. 프레임 창은 응용 프로그램의 기본 프레임 창과 현재 문서의 프레임 창입니다.
CMDIFrameWnd
MDI 애플리케이션의 기본 프레임 창으로 사용됩니다. 기본 프레임 창은 모든 MDI 문서 창에 대한 컨테이너이며 메뉴 모음을 공유합니다. MDI 프레임 창은 데스크톱에 표시되는 최상위 창입니다.
CMDIChildWnd
MDI 기본 프레임 창에서 열린 개별 문서에 사용됩니다. 각 문서와 해당 보기는 MDI 기본 프레임 창에 포함된 MDI 자식 프레임 창으로 프레임됩니다. MDI 자식 창은 일반적인 프레임 창과 비슷하지만 바탕 화면에 앉는 대신 MDI 프레임 창 내에 포함됩니다. 그러나 MDI 자식 창에는 자체 메뉴 모음이 없습니다. 포함된 MDI 프레임 창의 메뉴 모음을 공유해야 합니다.
자세한 내용은 프레임 창을 참조 하세요.
파생된 기타 창 클래스 CWnd
프레임 창 외에도 다른 여러 주요 창 범주는 다음에서 CWnd
파생됩니다.
보기:
뷰는 -derived 클래스(또는 파생 클래스CView
중 하나)를 사용하여CWnd
만들어집니다. 보기는 문서에 첨부되며 문서와 사용자 간의 중개자 역할을 합니다. 보기는 일반적으로 SDI 프레임 창 또는 MDI 자식 프레임 창의 클라이언트 영역을 채우는 자식 창(MDI 자식이 아닌)입니다(또는 도구 모음 또는 상태 막대가 적용되지 않는 클라이언트 영역의 해당 부분).대화 상자:
대화 상자는 -derived 클래스CDialog
를CWnd
사용하여 만들어집니다.양식:
대화 상자와 같은 대화 상자 템플릿 리소스를 기반으로 하는 양식 보기는 클래스CFormView
CRecordView
또는CDaoRecordView
.컨트롤:
단추, 목록 상자 및 콤보 상자와 같은 컨트롤은 파생CWnd
된 다른 클래스를 사용하여 만들어집니다. 컨트롤 항목을 참조 하세요.컨트롤 막대:
컨트롤이 포함된 자식 창입니다. 도구 모음과 상태 막대를 예로 들어 있습니다. 컨트롤 막대를 참조하세요.
Window 클래스 계층 구조
MFC 참조에서 MFC 계층 구조 차트 를 참조하세요. 보기는 문서/보기 아키텍처에 설명되어 있습니다. 대화 상자는 대화 상자에 설명 되어 있습니다.
고유한 특수 용도 창 클래스 만들기
클래스 라이브러리에서 제공하는 창 클래스 외에도 특수한 용도의 자식 창이 필요할 수 있습니다. 이러한 창을 만들려면 고유한 CWnd
파생 클래스를 만들고 프레임 또는 뷰의 자식 창으로 만듭니다. 프레임워크는 문서 프레임 창의 클라이언트 영역 범위를 관리합니다. 대부분의 클라이언트 영역은 보기에서 관리되지만 컨트롤 막대 또는 사용자 지정 창과 같은 다른 창은 뷰와 공간을 공유할 수 있습니다. 클래스 CView
의 메커니즘과 CControlBar
상호 작용하고 프레임 창의 클라이언트 영역에 자식 창을 배치해야 할 수 있습니다.
창을 만들면 창 개체 및 창이 관리되는 창 만들기에 대해 설명합니다.