Partilhar via


Objetos de janela

MFC fornece a classe CWnd para encapsular o HWND controlador de uma janela. O CWnd é um objeto de janela C++ distinto do HWND, que representa uma janela do Windows mas a contém. Use CWnd para derivar as suas próprias classes de subjanela, ou use uma das muitas classes MFC derivadas de CWnd. Classe CWnd é a classe base para todas as janelas, incluindo janelas de quadros, caixas de diálogo, janelas filhas, 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 MFC.

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

Cada objeto derivado da classe CWnd contém um mapa de mensagens, através 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 CWnd funções de membro, que encapsulam as HWND APIs.

Funções para operar num CWnd

CWnd e as suas classes de janela derivadas fornecem construtores, destrutores e funções membro para inicializar o objeto, criar as estruturas subjacentes do Windows e aceder ao encapsulado HWND. CWnd também fornece funções de 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 usam um HWND argumento são encapsuladas como funções de membro do 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 pelo CWnd, consulte a classe CWnd.

CWnd e mensagens do Windows

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

O que você quer saber mais sobre

Ver também

Mac OS