Compartilhar via


TN070: Nomes de classe de janela MFC

Observação

A nota técnica a seguir não foi atualizada desde que foi incluída pela primeira vez na documentação online. Como resultado, alguns procedimentos e tópicos podem estar desatualizados ou incorretos. Para obter as informações mais recentes, é recomendável que você pesquise o tópico de interesse no índice de documentação online.

As janelas MFC usam um nome de classe criado dinamicamente que reflete os recursos da janela. O MFC gera nomes de classe dinamicamente para janelas de quadros, exibições e janelas pop-up produzidas pelo aplicativo. Caixas de diálogo e controles produzidos por um aplicativo MFC têm o nome fornecido pelo Windows para a classe de janela em questão.

Você pode substituir o nome da classe fornecido dinamicamente registrando sua própria classe de janela e usando-a em uma substituição de PreCreateWindow. Os nomes de classe fornecidos pelo MFC se encaixam em um dos dois formulários a seguir:

Afx:%x:%x
Afx:%x:%x:%x:%x:%x

Os dígitos hexadecimais que substituem os %x caracteres são preenchidos a partir de dados da estrutura WNDCLASS . O MFC usa essa técnica para que várias classes C++ que exigem estruturas WNDCLASS idênticas possam compartilhar a mesma classe de janela registrada. Ao contrário dos aplicativos Win32 mais simples, os aplicativos MFC têm apenas um WNDPROC, portanto, você pode compartilhar facilmente estruturas WNDCLASS para economizar tempo e memória. Os valores substituíveis para os %x caracteres mostrados acima são os seguintes:

  • WNDCLASS.hInstance

  • WNDCLASS.style

  • WNDCLASS.hCursor

  • WNDCLASS.hbrBackground

  • WNDCLASS.hIcon

O primeiro formulário (Afx:%x:%x) é usado quando hCursor, hbrBackground e hIcon são todos NULL.

Consulte também

Notas técnicas por número
Notas técnicas por categoria
TN020: Convenções de nomenclatura e numeração de ID