Compartilhar via


Objetos de janela

O MFC fornece a classe CWnd para encapsular o identificador HWND de uma janela. O objeto CWnd é um objeto de janela C++ distinto do objeto HWND, que representa uma janela do Windows, mas a contém. Use CWnd para derivar suas próprias classes de janela filho ou use uma das muitas classes MFC derivadas de CWnd. A classe CWnd é a classe base para todas as janelas, incluindo janelas de quadros, caixas de diálogo, janelas filho, controles e barras de controle, como barras de ferramentas. Uma boa compreensão da relação entre um objeto de janela C++ e um HWND é crucial para uma programação eficaz com o MFC.

O MFC fornece algumas funcionalidades padrão e gerenciamento de janelas, mas você pode derivar sua própria classe CWnd e usar suas funções de membro para personalizar a funcionalidade fornecida. Você pode criar janelas filho construindo um objeto CWnd e chamando sua função membro Criar, e então personalizar as janelas filho usando funções membro CWnd. Você pode inserir objetos derivados do CView, como exibições de formulário ou exibições de árvore, em uma janela de quadros. E você pode dar suporte a várias exibições de seus documentos por meio de painéis de divisão, fornecidos pela classe CSplitterWnd.

Cada objeto derivado da classe CWnd contém um mapa de mensagens, por meio do qual você pode mapear mensagens do Windows ou IDs de comando para seus próprios manipuladores.

A literatura geral sobre programação para Windows é um bom recurso para aprender a usar as funções membro CWnd, que encapsulam as APIs HWND.

Funções para operar em um CWnd

CWnd e suas classes de janela derivadas fornecem construtores, destruidores e funções membro para inicializar o objeto, criar as estruturas subjacentes do Windows e acessar o encapsulado HWND. CWnd também fornece funções membro que encapsulam APIs do Windows para enviar mensagens, acessar o estado da janela, converter coordenadas, atualizar, rolar, acessar a Área de Transferência e muitas outras tarefas. A maioria das APIs de gerenciamento de janelas do Windows que assumem um HWND argumento são encapsuladas como funções membro de CWnd. Os nomes das funções e seus parâmetros são preservados na CWnd função membro. Para obter detalhes sobre as APIs do Windows encapsuladas por CWnd, consulte a classe CWnd.

Mensagens CWnd e Windows

Uma das principais finalidades CWnd é fornecer uma interface para lidar com mensagens do Windows, como WM_PAINT ou WM_MOUSEMOVE. Muitas das funções membro de CWnd são manipuladoras para mensagens padrão — aquelas que começam com o identificador afx_msg e o prefixo "On", como OnPaint e OnMouseMove. O Tratamento e mapeamento de mensagens aborda em detalhes as mensagens e o tratamento de mensagens. As informações lá se aplicam igualmente às janelas da estrutura e àquelas que você mesmo cria para fins especiais.

O que você quer saber mais sobre

Consulte também

Windows