창 개체

MFC는 CWnd 클래스를 제공하여 창의 핸들을 HWND 캡슐화합니다. CWnd 개체는 Windows 창을 나타내는 HWND와 다른 C++ 창 개체이지만 이를 포함합니다. CWnd를 사용하여 고유한 자식 창 클래스를 파생시키거나 CWnd에서 파생된 여러 MFC 클래스 중 하나를 사용합니다. CWnd 클래스는 프레임 창, 대화 상자, 자식 창, 컨트롤 및 컨트롤 막대(예: 도구 모음)를 포함하는 모든 창에 대한 기본 클래스입니다. C++ 창 개체와 HWND 간의 관계를 잘 이해하는 것은 MFC를 사용한 효과적인 프로그래밍에 매우 중요합니다.

MFC에서는 몇 가지 기본 기능 및 창 관리를 제공하지만 CWnd에서 고유한 클래스를 파생시킬 수 있고 해당 멤버 함수를 사용하여 제공된 기능을 사용자 지정할 수 있습니다. 개체를 생성하고 멤버 만들기 함수를 CWnd 호출 하여 자식 창을 만든 다음 멤버 함수를 사용하여 CWnd 자식 창을 사용자 지정할 수 있습니다. CView에서 파생된 개체(예: 폼 뷰 또는 트리 뷰)를 프레임 창에 포함할 수 있습니다. 또한 CSplitterWnd 클래스에서 제공하는 분할자 창을 통해 문서의 여러 보기를 지원할 수 있습니다.

CWnd 클래스에서 파생된 각 개체에는 Windows 메시지 또는 명령 ID를 고유한 처리기에 매핑할 수 있는 메시지 맵이 포함됩니다.

Windows 프로그래밍에 대한 일반 문서는 CWnd API를 캡슐화하는 HWND 멤버 함수를 사용하는 방법을 학습하기 위한 좋은 리소스입니다.

CWnd에서 작동하는 함수

CWnd 및 파생 창 클래스는 생성자, 소멸자 및 멤버 함수를 제공하여 개체를 초기화하고, 기본 Windows 구조를 만들고, 캡슐화된 HWND개체에 액세스합니다. CWnd는 메시지 전송, 창 상태에 액세스, 좌표 변환, 업데이트, 스크롤, 클립보드에 액세스 및 기타 여러 작업을 위해 Windows API를 캡슐화하는 멤버 함수도 제공합니다. HWND 인수를 사용하는 대부분의 Windows 창 관리 API는 CWnd 멤버 함수로 캡슐화됩니다. 함수와 매개 변수 이름은 CWnd 멤버 함수에서 유지됩니다. 캡슐화된 CWndWindows API에 대한 자세한 내용은 CWnd 클래스를 참조하세요.

CWnd 및 Windows 메시지

주요 목적 CWnd 중 하나는 windows 메시지(예: WM_PAINT 또는 WM_MOUSEMOVE)를 처리하기 위한 인터페이스를 제공하는 것입니다. 대부분의 멤버 함수 CWnd 는 표준 메시지의 처리기입니다. 식별자 afx_msg 및 접두사 "On"(예: 및 OnMouseMove)으로 OnPaint 시작하는 처리기입니다. 메시지 처리 및 매핑 은 메시지 및 메시지 처리를 자세히 다룹니다. 프레임워크의 창과 특수 목적을 위해 사용자가 직접 만든 창에 정보가 동일하게 적용됩니다.

다음에 대해 자세히 알고 싶은 사항

참고 항목

Windows