Sdílet prostřednictvím


Třída CContainedWindowT

Tato třída implementuje jiný objekt v okně.

Důležitá poznámkaDůležité

Třídy a jejích členů nelze použít v aplikacích, které spustit v modulu Runtime v systému Windows.

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

Parametry

  • TBase
    Základní třída nové třídy.Výchozí základní třída je CWindow .

  • TWinTraits
    Vlastnosti třídy definující styly okna.Výchozí je CControlWinTraits.

[!POZNÁMKA]

CContainedWindow je CContainedWindowT .Pokud chcete změnit základní třídu nebo vlastnosti, CContainedWindowT přímo.

Členy

Veřejné konstruktory

Název

Description

CContainedWindowT::CContainedWindowT

Konstruktor.Inicializace datové členy určit, které zprávy mapy bude zpracovávat zprávy obsažené okno.

Veřejné metody

Název

Description

CContainedWindowT::Create

Vytvoří okno.

CContainedWindowT::DefWindowProc

Obsahuje výchozí zpracování zprávy.

CContainedWindowT::GetCurrentMessage

Vrátí aktuální zprávy.

CContainedWindowT::RegisterWndSuperclass

Registrace třídy okna uzavřeného okna.

CContainedWindowT::SubclassWindow

Podtřídy okno.

CContainedWindowT::SwitchMessageMap

Změny, které zprávy mapy slouží ke zpracování zprávy obsažené okna.

CContainedWindowT::UnsubclassWindow

Obnoví dříve subclassed okna.

CContainedWindowT::WindowProc

(Statické) Zpracuje zprávy odeslané do uzavřeného okna.

Veřejné datové členy

Název

Description

CContainedWindowT::m_dwMsgMapID

Určuje, které mapy zprávy bude zpracovávat zprávy obsažené okna.

CContainedWindowT::m_lpszClassName

Určuje název existující třídy okna na které bude založen novou třídu okna.

CContainedWindowT::m_pfnSuperWindowProc

Odkazuje na původní okno postupu třídu okna.

CContainedWindowT::m_pObject

Odkazuje na objekt obsahující.

Poznámky

CContainedWindowTimplementuje jiný objekt v okně.CContainedWindowTpostup používá okno Mapovat zprávu obsahující přímé zprávy odpovídající obslužné rutiny objektu ve společnosti.Při vytváření CContainedWindowT objektu určíte, které mapy zpráva by měla být použita.

CContainedWindowTumožňuje vytvořit nové okno superclassing existující třídu okna.Vytvořit metodu poprvé registruje třídu okna, která je založena na existující třídy, ale používá CContainedWindowT::WindowProc .Vytvoření vytvoří okno založené na tuto novou třídu okna.Každá instance CContainedWindowT mohou jiné okno třídy supertřídy.

CContainedWindowTtaké podporuje vytváření podtříd okna. SubclassWindow Metoda připojí ke stávajícím okně CContainedWindowT objektu a změní postup okno CContainedWindowT::WindowProc .Každá instance CContainedWindowT mohou jiné okno podtřídy.

[!POZNÁMKA]

Pro všechny uvedené CContainedWindowT objektů, buď volání vytvořit nebo SubclassWindow .Obě metody na stejný objekt neměly vyvolat.

Při použití Přidání ovládacího prvku na základě možnost Průvodce projektu ATL Průvodce automaticky přidá CContainedWindowT datový člen třídy implementace ovládacího prvku.Následující příklad ukazuje, jak je deklarován uzavřeného okna:

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;
}

Další informace o

Odkaz

Vytváření ovládacích prvků

Kurz ATL

Pomocí systému windows v ATL

Okno třídy ATL

Průvodce projektem knihovny ATL

Vytváření projektu knihovny ATL

Windows

Windows a další témataWindows SDK

Hierarchii dědičnosti

TBase

CContainedWindowT

Požadavky

Záhlaví: atlwin.h

Viz také

Referenční dokumentace

Třída CWindow

Třída CWindowImpl

Třída CMessageMap

BEGIN_MSG_MAP

ALT_MSG_MAP

Další zdroje

Přehled třídy ATL