Partilhar via


Usando o windows contidas

Os desenvolvedores de ATL contiveram o windows com CContainedWindowT. Uma janela contida representa uma janela que delegue suas mensagens para um objeto contêiner em vez de manipular em sua própria classe.

Dica

Você não precisa derivar uma classe de CContainedWindowT para usar o windows contidas.

Contidas no windows, você pode tanto superclass o windows classes existentes ou subclasse uma janela existente. Para criar uma janela que os superclasses forms existentes classifiquem, primeiro especifique o nome da classe existente no construtor para o objeto de CContainedWindowT . Chame o CContainedWindowT::Create. Subclasse para uma janela existente, você não precisa especificar um nome de classe do windows (passagem NULO para o construtor.) Basta chamar o método de CContainedWindowT::SubclassWindow com o identificador para a janela que está sendo tenha sido derivado.

Você normalmente usa o windows contidas como membros de dados de um contêiner classe. O recipiente não precisa ser uma janela; no entanto, ele deve derivar de CMessageMap.

Uma janela contida pode usar mapas alternativas de mensagem para manipular suas mensagens. Se você tiver mais de uma janela contida, você deve declarar vários mapas alternativas de mensagem, cada que corresponde a uma janela separada contida.

Exemplo

A seguir está um exemplo de uma classe de recipiente com as 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 windows contidas, consulte o exemplo de REVISAR .

Consulte também

Outros recursos

Classes de janela ATL