Compartilhar via


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 a combinação de estilos, criado usando o operador bit a bit ou (|) operador, para a classe de janela.Para obter uma lista de estilos de classe, consulte o WNDCLASS estrutura o Windows SDK. If NULO, sistema autônomo padrões irão ser definidos da seguinte maneira:

    • Define o estilo de mouse como CS_DBLCLKS, que envia clicar duas vezes em mensagens para o procedimento de janela quando o usuário clica clicar duas vezes o mouse.

    • Define o estilo do cursor de seta para o padrão do Windows IDC_ARROW.

    • Define o pincel de plano de fundo como NULO, portanto, a janela não apagará o plano de fundo.

    • Define o ícone para o ícone de logotipo do Windows padrão, o sinalizar 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 a ser instalado em cada janela criada a partir da classe de janela.Se você usar o padrão de 0, você terá um NULO Pincel de plano de fundo e a janela, por padrão, não apagará o plano de fundo durante o processamento de WM_ERASEBKGND.

  • hIcon
    Especifica um identificador para o recurso de ícone a ser instalado em cada janela criada a partir da classe de janela.Se você usar o padrão de 0, você obterá o ícone de logotipo do Windows padrão, o sinalizar acenando.

Valor de retorno

Uma seqüência terminada por caractere nulo que contém o nome de classe.Você pode passar esse nome de classe para o Criar função membro CWnd ou Outros CWnd- derivadas de classes para criar uma janela.O nome é gerado pela biblioteca Microsoft Foundation classe.

Observação:

O valor retornado é um ponteiro para um buffer de estático.Para salvar essa seqüência de caracteres, atribuí-lo para um CString variável.

Comentários

A biblioteca Microsoft Foundation classe registra automaticamente várias classes de janela padrão para você.telefonar Esta função para registrar suas próprias classes de janela.

O nome registrado para uma classe por AfxRegisterWndClass depende exclusivamente os parâmetros. Se você chamar AfxRegisterWndClass várias vezes com parâmetros idênticos, ele só registra uma classe na primeira telefonar. As chamadas subseqüentes a AfxRegisterWndClass com parâmetros idênticos simplesmente retornam o nome de classe já registrado.

If you telefonar AfxRegisterWndClass para várias classes derivadas de CWnd com parâmetros idênticos, em vez de obtenção 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 classe de estilo é usado.Em vez de várias CS_CLASSDC janela classes, você termina com um CS_CLASSDC classe da janela e todas as janelas de C++ que usam essa classe compartilham o mesmo controlador de domínio.Para evitar esse problema, telefonar AfxRegisterClass para registrar a classe.

Consulte a nota técnica TN001: inscrição de classe de janela Para obter mais informações sobre inscrição 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

Consulte também

Conceitos

Macros do MFC e globais

Referência

CWnd::criar

CWnd::PreCreateWindow

WNDCLASS

AfxRegisterClass