Condividi tramite


Classe di CContainedWindowT

Questa classe implementa una finestra contenuta in un altro oggetto.

Nota importanteImportante

Questa classe e i relativi membri non possono essere utilizzati nelle applicazioni eseguite in Windows Runtime.

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

Parametri

  • TBase
    La classe base della nuova classe.La classe base predefinita è CWindow.

  • TWinTraits
    I tratti classe che definisce gli stili per la finestra.Il valore predefinito è CControlWinTraits.

[!NOTA]

CContainedWindow è una specializzazione CContainedWindowT.Se si desidera modificare la classe di base o i tratti, utilizzare direttamente CContainedWindowT.

Membri

9e286yks.collapse_all(it-it,VS.110).gifCostruttori pubblici

Nome

Descrizione

CContainedWindowT::CContainedWindowT

Costruttore.Inizializza i membri dati per specificare quali mappa messaggi elaborerà i messaggi della finestra contenuta.

9e286yks.collapse_all(it-it,VS.110).gifMetodi pubblici

Nome

Descrizione

CContainedWindowT::Create

Crea una finestra.

CContainedWindowT::DefWindowProc

Fornisce l'elaborazione dei messaggi predefinito.

CContainedWindowT::GetCurrentMessage

Restituisce il messaggio corrente.

CContainedWindowT::RegisterWndSuperclass

Registrazione della classe della finestra contenuta.

CContainedWindowT::SubclassWindow

Rappresenta una sottoclasse di una finestra.

CContainedWindowT::SwitchMessageMap

Modificare la mappa messaggi viene utilizzata per elaborare i messaggi della finestra contenuta.

CContainedWindowT::UnsubclassWindow

Ripristina una finestra precedentemente impostata come sottoclasse.

CContainedWindowT::WindowProc

(Proprietà statica) elabora i messaggi inviati alla finestra contenuta.

9e286yks.collapse_all(it-it,VS.110).gifMembri dati pubblici

Nome

Descrizione

CContainedWindowT::m_dwMsgMapID

Identifica la mappa messaggi elaborerà i messaggi della finestra contenuta.

CContainedWindowT::m_lpszClassName

Specifica il nome di una classe finestra esistente in cui una nuova classe della finestra verrà basata su.

CContainedWindowT::m_pfnSuperWindowProc

Punta alla routine della finestra della classe finestra.

CContainedWindowT::m_pObject

Punti all'oggetto contenitore.

Note

CContainedWindowT implementa una finestra contenuta in un altro oggetto.Utilizzare la routine della finestra di CContainedWindowT una mappa messaggi nell'oggetto contenitore ai messaggi diretti ai gestori appropriati.Nel creare un oggetto CContainedWindowT, specificare quale mappa messaggi deve essere utilizzata.

CContainedWindowT consente di creare una nuova finestra una superclasse basata su una classe finestra esistente.Il metodo Crea innanzitutto registrata una classe finestra basata su una classe esistente ma utilizza CContainedWindowT::WindowProc.Crea crea quindi una finestra basata sulla nuova classe della finestra.Ogni istanza CContainedWindowT boxing di una superclasse una classe finestra diversa.

CContainedWindowT supporta inoltre la creazione di una sottoclasse della finestra.Il metodo SubclassWindow associa una finestra esistente all'oggetto CContainedWindowT e modifica la routine della finestra CContainedWindowT::WindowProc.Ogni istanza CContainedWindowT boxing della sottoclasse di una finestra diversa.

[!NOTA]

Per un dato oggetto CContainedWindowT, chiamare Crea o SubclassWindow.Non è necessario chiamare entrambi i metodi nello stesso oggetto.

Quando si utilizza l'opzione Add control based on nella creazione guidata progetto ATL, la procedura guidata viene automaticamente aggiunto un membro dati CContainedWindowT la classe che implementa il controllo.Il seguente esempio mostra come la finestra contenuto viene dichiarata:

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

Per ulteriori informazioni su

Vedere

Creazione di controlli

L'esercitazione ATL

Utilizzando le finestre in ATL

Classi di finestre ATL

Creazione guidata progetto ATL

Creazione di un progetto ATL

Windows

Finestre e argomenti successivi in Windows SDK

Gerarchia di ereditarietà

TBase

CContainedWindowT

Requisiti

Header: atlwin.h

Vedere anche

Riferimenti

Classe di CWindow

Classe di CWindowImpl

Classe di CMessageMap

BEGIN_MSG_MAP

ALT_MSG_MAP

Altre risorse

I cenni preliminari sulle classi ATL