AfxRegisterWndClass
Permite que você registre suas próprias classes de janela.
LPCTSTR AFXAPI AfxRegisterWndClass(
UINT nClassStyle,
HCURSOR hCursor = 0,
HBRUSH hbrBackground = 0,
HICON hIcon = 0
);
Parâmetros
nClassStyle
Especifica o estilo de classe do Windows ou uma combinação de estilos, criados usando o (bit a bit ou**|**) operador para a classe de janela.Para obter uma lista de estilos de classe, consulte o WNDCLASS estrutura na Windows SDK.Se Nulo, os padrões serão definidos da seguinte maneira:Define o estilo do mouse para CS_DBLCLKS, que envia duas vezes mensagens para o procedimento de janela quando o usuário clica duas vezes o mouse.
Define o estilo do cursor de seta padrão Windows IDC_ARROW.
Define o pincel de plano de fundo para Nulo, portanto, a janela não irá apagar seu plano de fundo.
Define o ícone para o ícone de logotipo do Windows padrão, sinalizador acenando.
hCursor
Especifica um identificador para o recurso de cursor para ser instalado em cada janela criada a partir da classe de janela.Se você usar o padrão de 0, você obterá o padrão IDC_ARROW cursor.hbrBackground
Especifica um identificador para o recurso de pincel para ser instalado em cada janela criada a partir da classe de janela.Se você usar o padrão de 0, você terá uma Nulo pincel de plano de fundo e a janela será, por padrão, não apagar seu plano de fundo durante o processamento WM_ERASEBKGND.hIcon
Especifica um identificador para o recurso de ícone para ser instalado em cada janela criada a partir da classe de janela.Se você usar o padrão de 0, você terá o ícone de logotipo do Windows padrão, sinalizador acenando.
Valor de retorno
Uma cadeia terminada com nulo que contém o nome da classe.Você pode passar esse nome de classe para o criar função de membro em CWnd ou outras CWnd -derivadas de classes para criar uma janela.O nome é gerado pela biblioteca Microsoft Foundation Class.
Observação |
---|
O valor de retorno é um ponteiro para um buffer estático.Para salvar essa cadeia de caracteres, atribuí-lo a uma CString variável. |
Comentários
A biblioteca Microsoft Foundation Class registra automaticamente várias classes de janela padrão para você.Chame essa função se você deseja registrar suas próprias classes de janela.
O nome registrado para uma classe por AfxRegisterWndClass depende exclusivamente de parâmetros.Se você chamar AfxRegisterWndClass várias vezes com parâmetros idênticos, ele só registra uma classe na primeira chamada.Chamadas subseqüentes para AfxRegisterWndClass com parâmetros idênticos simplesmente retornam classname já registrado.
Se você chamar AfxRegisterWndClass para várias classes derivadas de CWnd com parâmetros idênticos, em vez de uma classe de janela separada para cada classe, cada classe compartilha a mesma classe de janela.Isso pode causar problemas se o CS_CLASSDC estilo de classe é usado.Em vez de vários CS_CLASSDC classes de janela, você acabará com um CS_CLASSDC classe de janela e todas as janelas de C++ que usam que classe compartilham o mesmo controlador de domínio.Para evitar esse problema, ligue para AfxRegisterClass para registrar a classe.
Consulte a nota técnica TN001: Registro de classe de janela para obter mais informações sobre registro de classe de janela e o AfxRegisterWndClass função.
Exemplo
CString strMyClass;
// load stock cursor, brush, and icon for
// my own window class
try
{
strMyClass = AfxRegisterWndClass(
CS_VREDRAW | CS_HREDRAW,
::LoadCursor(NULL, IDC_ARROW),
(HBRUSH) ::GetStockObject(WHITE_BRUSH),
::LoadIcon(NULL, IDI_APPLICATION));
}
catch (CResourceException* pEx)
{
AfxMessageBox(_T("Couldn't register class! (Already registered?)"));
pEx->Delete();
}
Requisitos
Cabeçalho: afxwin.h