AfxRegisterWndClass
Permite que você inscrever suas próprias classes da janela.
LPCTSTR AFXAPI AfxRegisterWndClass(
UINT nClassStyle,
HCURSOR hCursor = 0,
HBRUSH hbrBackground = 0,
HICON hIcon = 0
);
Parâmetros
nClassStyle
Especifica o estilo de classificação do ou a combinação de estilo, criado usando bit a bit OR (**|**operador), para a classe da janela. Para obter uma lista de estilos da classe, consulte a estrutura de WNDCLASS em Windows SDK. Se nulo, as opções será definido da seguinte maneira:Define o estilo do mouse na CS_DBLCLKS, que envia clique duas vezes em mensagens ao procedimento de janela quando o usuário clicar duas vezes no mouse.
Define o estilo da seta a IDC_ARROWpadrão do windows.
Define a escova em segundo plano a nulo, a janela não apagará seu plano de fundo.
Define o ícone para o standard, o ícone do logotipo do windows de acenar- sinalizador.
hCursor
Especifica um identificador para o recurso de cursor a ser instalado em cada janela criada da classe da janela. Se você usar a opção de 0, você obterá o cursor padrão de IDC_ARROW .hbrBackground
Especifica um identificador ao recurso de escova a ser instalado em cada janela criada da classe da janela. Se você usar a opção de 0, você terá uma escova em segundo plano de nulo , e a janela, por padrão, não apagará seu plano de fundo ao processar WM_ERASEBKGND.hIcon
Especifica um identificador para o recurso de ícone a ser instalado em cada janela criada da classe da janela. Se você usar a opção de 0, você obterá o padrão, o ícone do logotipo do windows de acenar- sinalizador.
Valor de retorno
Uma cadeia de caracteres com terminação nula que contém o nome da classe. Você pode passar esse nome de classe à função de membro de Criar em CWnd ou outras classes derivadas de CWnd-para criar uma janela. O nome é gerado pela biblioteca de classes do Microsoft.
Dica
O valor de retorno é um ponteiro para um buffer estático.Para salvar essa cadeia de caracteres, atribui a uma variável de CString .
Comentários
A biblioteca de classes do Microsoft foundation registra automaticamente várias classes padrão da janela para você. Chamar essa função se deseja inserir suas próprias classes da janela.
O nome registrado em uma classe AfxRegisterWndClass somente por depende dos parâmetros. Se você chamar AfxRegisterWndClass várias vezes com parâmetros idênticos, registra apenas uma classe na primeira chamada. As chamadas subsequentes a AfxRegisterWndClass com parâmetros idênticos retornam apenas o classname já registrado.
Se você chamar AfxRegisterWndClass para classes CWnd- derivados do múltiplo com parâmetros idênticos, em vez de obter uma classe separada da janela para cada classe, compartilhamentos de cada classe a mesma classe da janela. Isso pode causar problemas se o estilo da classe de CS_CLASSDC é usado. Em vez de várias classes da janela de CS_CLASSDC , você o acaba com uma classe da janela de CS_CLASSDC , e todas as janelas C++ que usam que compartilhamento da classe a mesma DC. Para evitar esse problema, chame AfxRegisterClass para registrar a classe.
Consulte a observação TN001: registro da classe Window técnica para obter mais informações sobre o registro da classe da janela e da função de AfxRegisterWndClass .
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