Registrando classes de janela
As "classes" de janela na programação tradicional do Windows definem as características de uma "classe" (não uma classe C++) a partir da qual qualquer número de janelas pode ser criada. Esse tipo de classe é um modelo para criar janelas.
Registro de classe de janela em programas tradicionais para Windows
Em um programa tradicional para Windows, sem MFC, você processa todas as mensagens em uma janela em seu "procedimento de janela" ou "WndProc
". Um WndProc
está associado a uma janela por meio de um processo de "registro de classe de janela". A janela principal é registrada na função WinMain
, mas outras classes de janelas podem ser registradas em qualquer lugar do aplicativo. O registro depende de uma estrutura que contém um ponteiro para a função WndProc
junto com as especificações do cursor, pincel de plano de fundo e assim por diante. A estrutura é passada como um parâmetro, juntamente com o nome da cadeia de caracteres da classe, em uma chamada anterior à função RegisterClass
. Portanto, uma classe de registro pode ser compartilhada por várias janelas.
Registro de classe de janela em programas MFC
Por outro lado, a maior parte da atividade de registro de classe de janela é feita automaticamente em um programa de estrutura MFC. Se estiver usando o MFC, você geralmente deriva uma classe de janela C++ de uma classe de biblioteca existente usando a sintaxe C++ normal para herança de classe. A estrutura ainda usa "classes de registro" tradicionais e fornece várias classes padrão registradas para você quando necessário. Você pode registrar classes de registro adicionais chamando a função global AfxRegisterWndClass e, em seguida, passando a classe registrada para a função membro Create
de CWnd
. Conforme descrito aqui, a "classe de registro" tradicional no Windows não deve ser confundida com uma classe C++.
Para mais informações, confira Nota Técnica 1.