Usando janelas contidas

ATL implementa windows contidos com CContainedWindow. Uma janela contida representa uma janela que delega suas mensagens para um objeto de contêiner em vez de manipulação-las em sua própria classe.

&Notanbsp;  Você não precisa derivar uma classe de CContainedWindow para usar janelas contidas.

Com janelas contidas, você poderá qualquer superclasse uma classe existente do Windows ou subclasse uma janela existente. Para criar uma janela que superclassificar um Windows existente classe, primeiro especifique o nome de classe existente no Construtor para o objeto de CContainedWindow . Em seguida, chame CContainedWindow:: Create. Para "subclasse" uma janela existente, você não precisa especificar um nome de classe do Windows (secreta NULL para o Construtor). Basta chamar o método de CContainedWindow::SubclassWindow com o identificador para a janela que está sendo subclasse.

Você normalmente usa windows contidos como 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 pode usar mapas de mensagem alternativo para lidar com suas mensagens. Se você tiver mais de uma janela contida, você deve declarar que vários alternam mapas de mensagem, cada um correspondendo a uma janela separada contida.

A seguir é um exemplo de uma classe de contêiner com dois contidos windows:

classe CMyContainer: público CMessageMap,...
{
público:
 nbsp; CContainedWindow m_wndEdit;
   CContainedWindow m_wndList;

CMyContainer(): m_wndEdit ("Editar", este, 1), m_wndList ("Lista", esta, 2).
   {
   }

...

BEGI&N_MSG_MAP(CMyContainer)
   ALT_MSG_MAP(1)
      / / manipuladores para a janela Editar ir aqui
   ALT_MSG_MAP(2)
      / / manipuladores para a janela lista ir aqui
   END_MSG_MAP()

}

Para obter mais informações sobre contidos windows, consulte o exemplo SUBEDIT . Para obter mais informações sobre superclassing e subclassificação, consulte Janela procedimento Superclassing e Subclassificação de procedimento de janela do Win32 SDK.

Index