다음을 통해 공유


파생 창 클래스

CWnd에서 직접 창을 만들거나 CWnd에서 새 창 클래스를 파생시킬 수 있습니다. 일반적으로 고유한 사용자 지정 창을 만드는 방법입니다. 그러나 프레임워크 프로그램에 사용되는 대부분의 창은 MFC에서 제공하는 파생 프레임 창 클래스 중 CWnd하나에서 만들어집니다.

프레임 창 클래스

CFrameWnd
단일 문서 및 해당 뷰를 프레임하는 SDI 프레임 창에 사용됩니다. 프레임 창은 응용 프로그램의 주 프레임 창과 현재 문서의 프레임 창입니다.

CMDIFrameWnd
MDI 애플리케이션의 기본 프레임 창으로 사용됩니다. 주 프레임 창은 모든 MDI 문서 창에 대한 컨테이너이며 메뉴 모음을 공유합니다. MDI 프레임 창은 데스크톱에 표시되는 최상위 창입니다.

CMDIChildWnd
MDI 주 프레임 창에서 열린 개별 문서에 사용됩니다. 각 문서와 해당 보기는 MDI 주 프레임 창에 포함된 MDI 자식 프레임 창으로 프레임됩니다. MDI 자식 창은 일반적인 프레임 창과 비슷하지만 바탕 화면 위에 있는 대신 MDI 프레임 창 안에 포함됩니다. 그러나 MDI 자식 창에는 자체 메뉴 모음이 없습니다. 포함된 MDI 프레임 창의 메뉴 모음을 공유해야 합니다.

자세한 내용은 프레임 창을 참조하세요.

CWnd에서 파생된 기타 창 클래스

프레임 창 외에도 다른 여러 주요 창 범주는 다음에서 CWnd파생됩니다.

  • 보기:
    뷰는 CWnd에서 파생된 클래스 CView (또는 그 파생 클래스 중 하나)를 사용하여 만들어집니다. 보기는 문서에 첨부되며 문서와 사용자 간의 중개자 역할을 합니다. 보기는 일반적으로 SDI 프레임 창 또는 MDI 자식 프레임 창(또는 도구 모음 또는 상태 표시줄에서 다루지 않는 클라이언트 영역의 해당 부분)의 클라이언트 영역을 채우는 자식 창(MDI 자식이 아님)입니다.

  • 대화 상자:
    대화 상자는 CWnd로부터 파생된 클래스 CDialog를 사용하여 만들어집니다.

  • 양식:
    대화 상자 템플릿 리소스를 기반으로 하는 양식 보기는 클래스 CFormView, CRecordView 또는 CDaoRecordView를 사용하여 생성됩니다.

  • 컨트롤:
    단추, 목록 상자 및 콤보 상자와 같은 컨트롤은 파생 CWnd된 다른 클래스를 사용하여 만들어집니다. 컨트롤 항목을 참조하세요.

  • 컨트롤 막대:
    컨트롤이 포함된 자식 창입니다. 도구 모음 및 상태 표시줄을 예로 들어 있습니다. 컨트롤 막대를 참조하세요.

Window 클래스 계층 구조

MFC 참조에서 MFC 계층 구조 차트참조하세요. 보기는 문서/보기 아키텍처에 설명되어 있습니다. 대화 상자는 대화 상자에 설명되어 있습니다.

고유한 Special-Purpose 창 클래스 만들기

클래스 라이브러리에서 제공하는 창 클래스 외에도 특수한 용도의 자식 창이 필요할 수 있습니다. 이러한 창을 만들려면 고유한 CWnd파생 클래스를 만들고 프레임 또는 뷰의 자식 창으로 만듭니다. 프레임워크는 문서 프레임 창의 클라이언트 영역 범위를 관리합니다. 대부분의 클라이언트 영역은 보기에서 관리되지만 컨트롤 막대 또는 사용자 지정 창과 같은 다른 창은 뷰와 공간을 공유할 수 있습니다. 클래스 CViewCControlBar의 메커니즘과 상호 작용하여 프레임 창의 클라이언트 영역에 자식 창을 배치해야 할 수 있습니다.

창 만들기는 창 개체 및 그들이 관리하는 창에 대해 설명합니다.

참고하십시오

Window 개체