CWindowImpl

modelo lt; classeTclasseTBase= CWindow, classeTWinTraits= CControlWinTraits >
Classe ATL_NO_VTABLE CWindowImpl: público CWindowImplBaseT <
TBase, TWinTraits >

Parâmetros

T

A classe, derivada de CWindowImpl.

TBase

A classe base de sua nova classe. A classe de base padrão é CWindow.

TWinTrait

Uma classe de características que define estilos para a sua janela. O padrão é CControlWinTraits.

CWindowImpl permite que você criar uma Novo janela ou subclasse uma janela existente. CWindowImpldo procedimento de janela usa um mapa da mensagem para direcionar mensagens para os manipuladores apropriados.

CWindowImpl:: Create cria uma nova janela com base nas informações de classe janela gerenciadas por CWndClassInfo. CWindowImpl contém a macro DECLARE_WND_CLASS , que significa que CWndClassInfo registrará um novo janela classe. Se você quiser superclasse uma classe de janela existente, derive sua classe de CWindowImpl e incluir a macro DECLARE_WND_SUPERCLASS . Nesse maiúscminúsc, CWndClassInfo irá registrar uma classe de janela que se baseia em uma classe existente, mas usa CWindowImpl:: WindowProc. Por exemplo

classe CMyWindow: CComControllt;CMyWindow >,...
                / / CComControl deriva de CWindowImpl
{
público:
   // 1. O parâmetro NULL significa que ATL irá gerar uma
   / / nome para superclasse
   // 2. O parâmetro "Editar" significa que a superclasse é
   / / com base em caixa de Editar do Windows padrão
   DECLARE_WND_SUPERCLASS (NULL, "EDITAR")
   ...
};

&Notanbsp;  Como CWndClassInfo gerencia as informações para uma classe de janela única, cada janela criada por meio de uma instância de CWindowImpl será baseada na mesma classe de janela.

CWindowImpl também oferece suporte a subclassificação de janela. O método SubclassWindow anexa uma janela existente ao objeto CWindowImpl e altera o procedimento de janela para CWindowImpl:: WindowProc. Cada instância de CWindowImpl pode subclasse outra janela.

&Notanbsp;  Para qualquer dado objeto de CWindowImpl , chamada o criar ou SubclassWindow. Você não deve chamar os dois métodos no mesmo objeto.

Além de CWindowImpl, ATL fornece CContainedWindow para criar uma janela contida em outro objeto.

O destruidor de classe base (~CWindowImplRoot) assegura que a janela é ida antes do objeto é destruído.

CWindowImpl deriva CWindowImplBaseT, que deriva de CWindowImplRoot, que por sua vez deriva de TBase e CMessageMap.

Para obter mais informações sobre Consulte
Criando controles Tutorial ATL
Using windows in ATL Classes de janela do ATL
Assistente de objeto ATL Criando um projeto ATL
Windows Windows e os tópicos subseqüentes a Plataforma SDK
Subclassificação Subclassificação do procedimento de janela no plataforma SDK
Superclassing Janela procedimento Superclassing in the plataforma SDK

# include lt;atlwin.h>

Membros de classe

Ver também

BEGIN_MSG_MAP, CComControl

Index