Compartilhar via


Classe CWindowImpl

Essa classe fornece métodos para criação ou subclassificar uma janela.

template <
   class T,
   class TBase = CWindow,
   class TWinTraits = CControlWinTraits 
>
class ATL_NO_VTABLE CWindowImpl :
   public CWindowImplBaseT< TBase, TWinTraits >

Parâmetros

  • T
    Sua classe, derivado de CWindowImpl.

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

  • TWinTraits
    A classe de características que define estilos para sua janela.O padrão é CControlWinTraits.

Comentários

CWindowImpl permite que você criar uma nova janela ou uma subclasse uma janela existente. CWindowImpl's janela procedimento usa uma mensagem mapear mensagens direto para os manipuladores apropriados.

CWindowImpl::Create cria uma nova janela com base nas informações de classe de janela gerenciadas por CWndClassInfo.CWindowImpl contém o DECLARE_WND_CLASS macro, o que significa CWndClassInfo irá registrar uma nova classe de janela. Se você quiser superclasse uma classe de janela existente, derivar a classe de CWindowImpl e inclua o DECLARE_WND_SUPERCLASS macro.Nesse caso, CWndClassInfo registrará uma classe de janela que se baseia em uma classe existente, mas usa CWindowImpl::WindowProc. Por exemplo:

class ATL_NO_VTABLE CMyWindow :
   OtherInheritedClasses
   public CComControl<CMyWindow>
          // CComControl derives from CWindowImpl
{
public:
   // 1. The NULL parameter means ATL will generate a
   //    name for the superclass
   // 2. The "EDIT" parameter means the superclass is
   //    based on the standard Windows Edit box
   DECLARE_WND_SUPERCLASS(NULL, _T("EDIT"))

   // Remainder of class declaration omitted
Observação:

Porque CWndClassInfo gerencia informações de uma classe única janela, cada janela criada por meio de uma ocorrência da CWindowImpl se baseará da mesma classe de janela.

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

Observação:

Para qualquer dado CWindowImpl objeto, chamar qualquer um Criar or SubclassWindow. Você não deve chamar os dois métodos no mesmo objeto.

Em adição a CWindowImplFornece ATL CContainedWindow para criar uma janela contida em outro objeto.

O destruidor de classe base (~ CWindowImplRoot) garante que a janela eliminada antes que o objeto é destruído.

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

Para obter mais informações sobre

Consulte

Criação de controles

Tutorial do ATL

Usando o windows em ATL

Classes de janela do ATL

ATL projeto assistente

Criando um projeto do ATL

Windows

Sobre procedimentos do Windows

Requisitos

Cabeçalho: atlwin.h

Consulte também

Referência

BEGIN_MSG_MAP

Classe CComControl

Outros recursos

CWindowImpl membros

Visão geral do ATL classe