TN070: nomes de classe da 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 de classe fornecido dinamicamente registrando uma classe de janela própria e usando-a em uma substituição de PreCreateWindow. Seus nomes de classe fornecidos pelo MFC se ajustam a um dos dois seguintes formatos:

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

Os dígitos hexa que substituem os caracteres %x são preenchidos usando 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 da maioria dos aplicativos Win32 simples, os aplicativos MFC têm apenas um WNDPROC, portanto, você pode compartilhar facilmente estruturas WNDCLASS para poupar tempo e memória. Os valores substituíveis para os caracteres %x mostrados acima são os seguintes:

  • WNDCLASS.hInstance

  • WNDCLASS.style

  • WNDCLASS.hCursor

  • WNDCLASS.hbrBackground

  • WNDCLASS.hIcon

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

Confira também

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