Mithilfe von enthaltenen Windows

ATL implementiert enthaltene Fenster mit CContainedWindow. Einem geschlossenen Fenster stellt ein Fenster, die ihre Nachrichten an ein Containerobjekt anstelle der Umgang mit ihnen in ihrer eigenen Klasse delegiert.

Hinweis&Nbsp;  Sie müssen keine Klasse von CContainedWindow ableiten, um enthaltene Windows verwenden.

Mit enthaltenen Fenstern können Sie entweder übergeordnete Klasse einer vorhandenen Windows-Klasse oder Unterklasse eines vorhandenen Fensters. Zum Erstellen eines Fensters die Oberklassen einer vorhandenen Windows Klasse, zuerst den Namen den vorhandenen Klasse im Konstruktor für das CContainedWindow -Objekt angeben. Dann rufen Sie CContainedWindow:: Create. Unterklasse eines vorhandenen Fensters müssen Sie einen Windows-Klassennamen (Pass NULL an den Konstruktor) angeben. Rufen Sie einfach die CContainedWindow::SubclassWindow -Methode mit dem Handle für das Fenster als Unterklasse definiert wird.

Sie verwenden in der Regel enthaltenen Windows als Datenmember einer Klasse Container. Der Container muss kein Fenster sein; Allerdings muss es von CMessageMap abgeleitet.

Ein enthaltenen Fenster kann alternative Meldungszuordnungen verwenden, um seine Nachrichten zu behandeln. Wenn Sie mehr als ein enthaltenen Fenster haben, sollten Sie deklarieren, dass mehrere alternative Meldungszuordnungen, jeweils auf einem separaten enthaltenen Fenster.

Es folgt ein Beispiel für eine Containerklasse mit zwei enthaltenen windows:

klasse CMyContainer: öffentliche CMessageMap,...
{
Öffentliche:
 &Nbsp; CContainedWindow M_wndEdit;
   CContainedWindow M_wndList;

CMyContainer(): M_wndEdit ("Bearbeiten", dies, 1), M_wndList ("List", dieser, 2).
   {
   }

...

BEGIN_MSG_MAP(CMyContainer)
   ALT_MSG_MAP(1)
      / / Handler für das bearbeiten-Fenster gehen Sie hier
   ALT_MSG_MAP(2)
      / / Handler für die Fenster gehen hier
   END_MSG_MAP()

}

Weitere Informationen zu enthaltenen Fenstern finden Sie unter der SUBEDIT -Beispiel. Weitere Informationen zum Erstellen von übergeordneten Klassen und Unterklassen, finden Sie unter Fenster Verfahren Fensterprozedur und Window Subclassing Verfahren in der Win32 SDK.

Index