Udostępnij za pośrednictwem


Klasa CContainedWindowT

Ta klasa implementuje okna, zawarte w innym obiekcie.

Ważna uwagaWażne

W aplikacjach, które są wykonywane w Windows Runtime nie można użyć tej klasy i jej członków.

template < 
class TBase= CWindow, 
class TWinTraits= CControlWinTraits  
> 
class CContainedWindowT : 
public TBase

Parametry

  • TBase
    Klasa podstawowa nowej klasy.Domyślna klasa podstawowa jest CWindow.

  • TWinTraits
    Klasa cech, która definiuje style okna.Wartością domyślną jest CControlWinTraits.

[!UWAGA]

CContainedWindow jest CContainedWindowT.Jeśli chcesz zmienić klasy podstawowej lub cech, użyj CContainedWindowT bezpośrednio.

Członkowie

Publiczne konstruktory

Nazwa

Opis

CContainedWindowT::CContainedWindowT

Konstruktor.Inicjuje danych członków do określenia mapy wiadomości, które będzie przetwarzać komunikaty okna zawarte.

Metody publiczne

Nazwa

Opis

CContainedWindowT::Create

Tworzy okno.

CContainedWindowT::DefWindowProc

Zawiera domyślną przetwarzania wiadomości.

CContainedWindowT::GetCurrentMessage

Zwraca bieżącą wiadomość.

CContainedWindowT::RegisterWndSuperclass

Rejestruje zamkniętego okna klasy okna.

CContainedWindowT::SubclassWindow

Podklasy okna.

CContainedWindowT::SwitchMessageMap

Zmiany mapy wiadomości, które jest używane do przetwarzania wiadomości zawarte okna.

CContainedWindowT::UnsubclassWindow

Przywraca okno wcześniej subclassed.

CContainedWindowT::WindowProc

(Statyczny) Przetwarza wiadomości wysłane do zamkniętego okna.

Publiczne danych członków

Nazwa

Opis

CContainedWindowT::m_dwMsgMapID

Identyfikuje mapy wiadomości, które będzie przetwarzać komunikaty okna zawarte.

CContainedWindowT::m_lpszClassName

Określa nazwę istniejącej klasy okna, na którym opiera się nowe klasy okna.

CContainedWindowT::m_pfnSuperWindowProc

Punkty do oryginalnej procedury okna klasy okna.

CContainedWindowT::m_pObject

Punkty do obiektu zawierającego.

Uwagi

CContainedWindowTimplementuje okna, zawarte w innym obiekcie.CContainedWindowTjego zastosowania procedury okna mapę wiadomości zawierające obiektu do bezpośredniego wiadomości do odpowiednich programów obsługi.Przy konstruowaniu CContainedWindowT obiektu, można określić mapy wiadomości, które należy przyjąć.

CContainedWindowTUmożliwia tworzenie nowego okna przez superclassing istniejące klasy okna.Tworzenie metody po raz pierwszy rejestruje klasy okna, który opiera się na istniejącej klasy, ale używa CContainedWindowT::WindowProc.Tworzenie następnie tworzy okno oparte na tej nowej klasy okna.Każde wystąpienie CContainedWindowT można superklasę klasy różne okna.

CContainedWindowTobsługuje również okno podklasy.SubclassWindow Metoda dołącza do istniejącego okna CContainedWindowT obiektu i zmiany procedury okna do CContainedWindowT::WindowProc.Każde wystąpienie CContainedWindowT można inne okno podklasy.

[!UWAGA]

W danym CContainedWindowT obiektu, albo wywołanie Tworzenie lub SubclassWindow.Obie metody dla tego samego obiektu nie powinny wywoływać.

Podczas używania Dodaj formant oparty na opcji kreatora Projekt ATL Kreator automatycznie doda CContainedWindowT danych członka klasy wdrażania kontroli.Poniższy przykład pokazuje, jak zadeklarowane zamknięte okno:

public:
   // Declare a contained window data member
   CContainedWindow m_ctlEdit;

   // Initialize the contained window:
   // 1. Pass "Edit" to specify that the contained 
   //    window should be based on the standard 
   //    Windows Edit box
   // 2. Pass 'this' pointer to specify that CAtlEdit 
   //    contains the message map to be used for the 
   //    contained window's message processing
   // 3. Pass the identifier of the message map. '1'
   //    identifies the alternate message map declared
   //    with ALT_MSG_MAP(1)
   CAtlEdit()
      : m_ctlEdit(_T("Edit"), this, 1)
   {
      m_bWindowOnly = TRUE;
   }
// Declare the default message map, identified by '0'
BEGIN_MSG_MAP(CAtlEdit)
   MESSAGE_HANDLER(WM_CREATE, OnCreate)
   MESSAGE_HANDLER(WM_SETFOCUS, OnSetFocus)
   CHAIN_MSG_MAP(CComControl<CAtlEdit>)
// Declare an alternate message map, identified by '1'
ALT_MSG_MAP(1)
   MESSAGE_HANDLER(WM_CHAR, OnChar)
END_MSG_MAP()
// Define OnCreate handler
// When the containing window receives a WM_CREATE
// message, create the contained window by calling
// CContainedWindow::Create
LRESULT OnCreate(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, 
   BOOL& /*bHandled*/)
{
   RECT rc;
   GetWindowRect(&rc);
   rc.right -= rc.left;
   rc.bottom -= rc.top;
   rc.top = rc.left = 0;
   m_ctlEdit.Create(m_hWnd, rc, _T("hello"), WS_CHILD | WS_VISIBLE | 
      ES_MULTILINE | ES_AUTOVSCROLL);
   return 0;
}

Aby uzyskać więcej informacji na temat

Zobacz

Tworzenie formantów

Samouczek ATL

System Windows w ATL

Klasy ATL okna

Kreator Projekt ATL

Tworzenie projektu ATL

Windows

Windows i kolejnych tematówWindows SDK

Hierarchii dziedziczenia

TBase

CContainedWindowT

Wymagania

Nagłówek: atlwin.h

Zobacz też

Informacje

Klasa CWindow

Klasa CWindowImpl

Klasa CMessageMap

BEGIN_MSG_MAP

ALT_MSG_MAP

Inne zasoby

Omówienie klasy ATL