Pomocí uzavřeného systému Windows
ATL implementuje uzavřeného systému windows s CContainedWindowT.Uzavřené okna představuje okno, které deleguje své zprávy na místo jejich zpracování ve vlastní třídě objektu kontejneru.
[!POZNÁMKA]
Není nutné odvození třídy z CContainedWindowT pro použití uzavřeného systému windows.
Uzavřeného systému Windows můžete buď supertřída existující třídy Windows nebo podtřídu existující okno aplikace.Že nadřazených tříd existujícího systému Windows vytvořit okno třídy, nejprve zadejte existující název třídy v konstruktoru pro CContainedWindowT objektu.Potom voláním CContainedWindowT::Create .Podtřídu existující okno není nutné zadávat název třídy Windows (předat NULL konstruktoru).Stačí zavolat CContainedWindowT::SubclassWindow metodou s popisovač okna je rozčlenění.
Uzavřeného systému windows se obvykle používá jako datové členy třídy kontejneru.Kontejner nemusí být okno; však musí pocházet z CMessageMap.
Obsažené okna pomocí mapy alternativní zprávu zpracovat své zprávy.Máte více než jedno okno obsažené by prohlásit, že několik alternativních zpráva mapy, odpovídající jednotlivým samostatné okno obsažené.
Příklad
Následuje příklad třídy kontejner s dvěma uzavřeného systému windows:
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()
};
Další informace o uzavřeného systému windows naleznete SUBEDIT vzorku.