Partilhar via


Usando o Windows contidos

ATL implementa contidas janelas com CContainedWindowT.Uma janela contida representa uma janela que delega suas mensagens a um objeto de contêiner em vez de tratá-los em sua própria classe.

Observação:

Não é necessário derivar uma classe de CContainedWindowT Para usar janelas contidas.

Com janelas contidas, é possível qualquer superclasse uma classe existente do Windows ou subclasse uma janela existente.Para criar uma janela que superclasses um Windows existente da classe, primeiro especifique o nome de classe existente no construtor para o CContainedWindowT objeto. Then telefonar CContainedWindowT::Create. Criar subclasse de uma janela existente, você não precisa especificar um nome de classe do Windows (pass NULO para o construtor).Basta chamar o CContainedWindowT::SubclassWindow método com o identificador para a janela que está sendo uma subclasse.

Você geralmente usa janelas contidas sistema autônomo membros de dados de uma classe de contêiner.O contêiner não precisa ser uma janela; no entanto, ele deve derivar de CMessageMap.

Uma janela contida possível utilizar mapas de mensagem alternativo para controlar suas mensagens.Se você tiver mais de uma janela contida, você deve declarar que diversas alternam mapas de mensagem, cada correspondente a uma janela separada contida.

Exemplo

A seguir é um exemplo de uma classe de contêiner com duas janelas contidas:

class CMyContainer : public CMessageMap
{
public:
   CContainedWindow m_wndEdit;
   CContainedWindow m_wndList;

   CMyContainer() : m_wndEdit(_T("Edit"), this, 1), 
                    m_wndList(_T("List"), this, 2)
   {
   }

   BEGIN_MSG_MAP(CMyContainer)
   ALT_MSG_MAP(1)
      // handlers for the Edit window go here
   ALT_MSG_MAP(2)
      // handlers for the List window go here
   END_MSG_MAP()

};

Para obter mais informações sobre janelas contidas, consulte o SUBEDIT amostra.

Consulte também

Outros recursos

Classes de janela do ATL