포함 된 창 사용
ATL에 포함 된 창으로 구현 CContainedWindowT.포함 된 창은 해당 메시지를 자체 클래스에서 처리 하지 않고 컨테이너 개체에 위임 하는 창을 나타냅니다.
[!참고]
클래스에서 파생 하지 않아도 CContainedWindowT 포함 된 windows를 사용 하려면.
포함 된 창으로 슈퍼는 기존 Windows 클래스 하거나 기존 창 서브 클래스는 있습니다.기존 Windows는 해당 수퍼 클래스는 창을 만들 수 클래스, 생성자에 대 한 기존 클래스 이름을 먼저 지정 된 CContainedWindowT 개체입니다.다음 호출 CContainedWindowT::Create.Windows 클래스 이름을 지정할 필요가 기존 창을 서브 클래스 하 (전달 NULL 생성자).호출 하면는 CContainedWindowT::SubclassWindow 메서드를 하위 클래스화 되는 창 핸들을 사용 합니다.
일반적으로 컨테이너 클래스의 데이터 멤버로 포함 된 windows를 사용합니다.컨테이너 창이 될 필요는 없습니다. 하지만 파생 되어야 CMessageMap.
포함 된 창은 대체 메시지 맵을 자체 메시지를 처리할 수 있습니다.포함 된 창이 여러 개 있으면 여러 대체 포함 된 별도 창에 해당 메시지 맵을 선언 해야 합니다.
예제
다음 두 개의 포함 된 창 가진 컨테이너 클래스의 예입니다.
class CMyContainer : public CMessageMap
{
public:
CContainedWindow m_wndEdit;
CContainedWindow m_wndList;
CMyContainer() : m_wndEdit(_T("Edit"), this, 1),
m_wndList(_T("List"), this, 2)
{
}
BEGIN_MSG_MAP(CMyContainer)
ALT_MSG_MAP(1)
// handlers for the Edit window go here
ALT_MSG_MAP(2)
// handlers for the List window go here
END_MSG_MAP()
};
포함 된 창에 대 한 자세한 내용은 SUBEDIT 샘플.