Korzystanie z zamkniętego systemu Windows
ATL implementuje windows zawartych z CContainedWindowT.Zamknięte okno reprezentuje okna, które powierza jej wiadomości do obiektu kontenera zamiast ich obsługę własnej klasy.
[!UWAGA]
Nie trzeba klasę z CContainedWindowT Aby używać zamkniętego systemu windows.
Z zamkniętego systemu windows można albo superklasy istniejącej klasy systemu Windows lub istniejące okno podklasy.Utworzyć okna tego istniejące Windows superklas klasy, należy najpierw określić istniejącą nazwę klasy konstruktora dla CContainedWindowT obiektu.Następnie wywołać CContainedWindowT::Create.Do istniejących okno podklasy, trzeba określić nazwę klasy systemu Windows (przekazać NULL do konstruktora).Po prostu wywołać CContainedWindowT::SubclassWindow metody z dojście do okna jest podklasą klasy.
Zamkniętego systemu windows jest zazwyczaj używana jako członkowie klasy kontenera danych.Kontener musi być okno; Jednakże musi pochodzić od CMessageMap.
Zamknięte okno można użyć mapowania alternatywnej wiadomości do jego wiadomości.Masz więcej niż jedno okno zamkniętego powinny zadeklarowania kilka alternatywnych mapy wiadomości, każdej odpowiadającej oddzielne okno zawarte.
Przykład
Oto przykład klasy pojemnika z dwóch zamkniętego systemu 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()
};
Aby uzyskać więcej informacji o zawarte w systemie windows, zobacz SUBEDIT próbki.