Compartilhar via


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

Consulte também

Referência

CWnd::Create

CWnd::PreCreateWindow

WNDCLASS

AfxRegisterClass

Conceitos

Macros e globais MFC