Classe de CContainedWindowT

Essa classe implementa uma janela contida dentro de outro objeto.

Observação importanteImportante

Essa classe e seus membros não podem ser usados em aplicativos executados em tempo de execução do windows.

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

Parâmetros

  • TBase
    A classe base da sua classe.a classe base padrão é CWindow.

  • TWinTraits
    Os traços classe que define estilos para a janela.O padrão é CControlWinTraits.

ObservaçãoObservação

CContainedWindow é uma especialização de CContainedWindowT.Se você desejar alterar a classe base ou os traços, use CContainedWindowT diretamente.

Membros

9e286yks.collapse_all(pt-br,VS.110).gifConstrutores public

Nome

Descrição

CContainedWindowT::CContainedWindowT

Construtor.Inicializa todos os membros de dados para especificar que o mapa de mensagem irá processar as mensagens de janela contida.

9e286yks.collapse_all(pt-br,VS.110).gifMétodos públicos

Nome

Descrição

CContainedWindowT::Create

Cria uma janela.

CContainedWindowT::DefWindowProc

Fornece o processamento de mensagem padrão.

CContainedWindowT::GetCurrentMessage

Retorna a mensagem atual.

CContainedWindowT::RegisterWndSuperclass

Registra a classe da janela da janela contida.

CContainedWindowT::SubclassWindow

Subclasses uma janela.

CContainedWindowT::SwitchMessageMap

Alterações que o mapa de mensagem é usado para processar as mensagens de janela contida.

CContainedWindowT::UnsubclassWindow

Restaura uma janela anteriormente tenha sido derivado.

CContainedWindowT::WindowProc

(Static) Processa as mensagens enviadas para a janela contida.

9e286yks.collapse_all(pt-br,VS.110).gifMembros públicos de dados

Nome

Descrição

CContainedWindowT::m_dwMsgMapID

Identifica que o mapa de mensagem irá processar as mensagens de janela contida.

CContainedWindowT::m_lpszClassName

Especifica o nome de uma classe existente da janela até que uma classe de nova janela será base.

CContainedWindowT::m_pfnSuperWindowProc

Aponta para o procedimento de janela original da classe de janela.

CContainedWindowT::m_pObject

Aponta para o objeto contêiner.

Comentários

CContainedWindowT implementa uma janela contida dentro de outro objeto.O procedimento da janela de CContainedWindowT usa um mapa de mensagem no objeto contêiner para mensagens diretas para manipuladores apropriadas.Quando construir um objeto de CContainedWindowT , você especifica que o mapa de mensagem deve ser usado.

CContainedWindowT permite que você crie uma nova janela superclassing uma classe existente da janela.O método de Criar registra uma classe de janela que é baseada em uma classe existente mas em CContainedWindowT::WindowProcusa.Criar então cria uma janela com base em essa classe da nova janela.Cada instância de CContainedWindowT enlata superclass uma classe diferente da janela.

CContainedWindowT também oferece suporte a janela que subclassing.O método de SubclassWindow anexa uma janela existente ao objeto de CContainedWindowT e altera o procedimento da janela CContainedWindowT::WindowProc.Cada instância de CContainedWindowT enlata a subclasse uma janela diferente.

ObservaçãoObservação

Para qualquer dado objeto de CContainedWindowT , chame Criar ou SubclassWindow.Você não deve chamar ambos os métodos no mesmo objeto.

Quando você usa a opção de Add control based on no assistente de projeto de ATL, o assistente automaticamente adicionará um membro de dados de CContainedWindowT a classe que implementa o controle.O exemplo a seguir mostra como a janela contida é declarada:

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

Para obter mais informações

Consulte

Criando controles

Tutorial de ATL

Usando o windows em ATL

Classes da janela de ATL

Assistente de projeto de ATL

Criando um projeto de ATL

Windows

Janelas e tópicos posteriores em Windows SDK

Hierarquia de herança

TBase

CContainedWindowT

Requisitos

Cabeçalho: atlwin.h

Consulte também

Referência

Classe de CWindow

Classe de CWindowImpl

Classe de CMessageMap

BEGIN_MSG_MAP

ALT_MSG_MAP

Outros recursos

Visão geral da classe de ATL