Partilhar via


Classe de CWindowImpl

Essa classe fornece métodos para criar ou subclassing uma janela.

Observação importanteImportante

Essa classe e seus membros não podem ser usados em aplicativos executados em tempo de execução do windows.

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

Parâmetros

  • T
    Sua classe, derivada de CWindowImpl.

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

  • TWinTraits
    classe dos traços que define estilos para a janela.O padrão é CControlWinTraits.

Membros

h4616bh2.collapse_all(pt-br,VS.110).gifMétodos públicos

Nome

Descrição

CWindowImpl::Create

Cria uma janela.

h4616bh2.collapse_all(pt-br,VS.110).gifMétodos de CWindowImplBaseT

DefWindowProc

Fornece o processamento de mensagem padrão.

GetCurrentMessage

Retorna a mensagem atual.

GetWindowProc

Retorna o procedimento de janela atual.

OnFinalMessage

Chamado após recebido a mensagem a última (normalmente WM_NCDESTROY).

SubclassWindow

Subclasses uma janela.

UnsubclassWindow

Restaura uma janela anteriormente tenha sido derivado.

h4616bh2.collapse_all(pt-br,VS.110).gifMétodos estáticos

GetWndClassInfo

Retorna uma instância de CWndClassInfoestático, que gerencia informações de classe da janela.

WindowProc

Processa as mensagens enviadas para a janela.

h4616bh2.collapse_all(pt-br,VS.110).gifMembros de dados

m_pfnSuperWindowProc

Aponta para o procedimento de janela original da classe de janela.

Comentários

CWindowImpl permite que você crie uma nova janela ou uma subclasse uma janela existente.o procedimento de janela CWindowImpl usa um mapa de mensagem para direcionar mensagens para manipuladores apropriadas.

CWindowImpl::Create cria uma nova janela com base nas informações de classe de janela gerenciada por CWndClassInfo.CWindowImpl contém a macro de DECLARE_WND_CLASS , que significa que CWndClassInfo irá registrar uma classe de nova janela.Se você desejar que a superclass uma classe existente da janela, derive da classe CWindowImpl e inclua a macro de DECLARE_WND_SUPERCLASS .Em esse caso, CWndClassInfo irá registrar uma classe de janela que é baseada em uma classe existente mas em CWindowImpl::WindowProcusa.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çãoObservação

Porque CWndClassInfo gerencia informações para uma única classe de janela, cada janela projetada por uma instância de CWindowImpl será baseada na mesma classe de janela.

CWindowImpl também oferece suporte a janela que subclassing.O método de SubclassWindow anexa uma janela existente ao objeto de CWindowImpl e altera o procedimento da janela CWindowImpl::WindowProc.Cada instância de CWindowImpl enlata a subclasse uma janela diferente.

ObservaçãoObservação

Para qualquer dado objeto de CWindowImpl , chame Criar ou SubclassWindow.Você não deve chamar ambos os métodos no mesmo objeto.

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

O destrutor da classe base (~CWindowImplRoot) assegura que a janela está em antes que o objeto seja destruída.

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

Para obter mais informações

Consulte

Criando controles

Tutorial de ATL

Usando o windows em ATL

Classes da janela de ATL

Assistente de projeto de ATL

Criando um projeto de ATL

Windows

Sobre procedimentos do windows

Hierarquia de herança

CMessageMap

TBase

CWindowImplRoot

CWindowImplBaseT

CWindowImpl

Requisitos

Cabeçalho: atlwin.h

Consulte também

Referência

BEGIN_MSG_MAP

Classe de CComControl

Outros recursos

Visão geral da classe de ATL