Compartilhar via


Estrutura WNDCLASSEXA (winuser.h)

Contém informações de classe de janela. Ele é usado com as funções RegisterClassEx e GetClassInfoEx.

A estrutura de WNDCLASSEX é semelhante à estrutura de WNDCLASS . Há duas diferenças. WNDCLASSEX inclui o membro cbSize, que especifica o tamanho da estrutura e o membro do hIconSm, que contém um identificador para um pequeno ícone associado à classe de janela.

Sintaxe

typedef struct tagWNDCLASSEXA {
  UINT      cbSize;
  UINT      style;
  WNDPROC   lpfnWndProc;
  int       cbClsExtra;
  int       cbWndExtra;
  HINSTANCE hInstance;
  HICON     hIcon;
  HCURSOR   hCursor;
  HBRUSH    hbrBackground;
  LPCSTR    lpszMenuName;
  LPCSTR    lpszClassName;
  HICON     hIconSm;
} WNDCLASSEXA, *PWNDCLASSEXA, *NPWNDCLASSEXA, *LPWNDCLASSEXA;

Membros

cbSize

Tipo: UINT

O tamanho, em bytes, dessa estrutura. Defina esse membro como sizeof(WNDCLASSEX). Certifique-se de definir esse membro antes de chamar a função GetClassInfoEx.

style

Tipo: UINT

Os estilos de classe. Esse membro pode ser qualquer combinação dos estilos de classe .

lpfnWndProc

Tipo: WNDPROC

Um ponteiro para o procedimento da janela. Você deve usar a função CallWindowProc para chamar o procedimento de janela. Para obter mais informações, consulte WindowProc.

cbClsExtra

Tipo: int

O número de bytes extras a serem alocados seguindo a estrutura de classe de janela. O sistema inicializa os bytes como zero.

cbWndExtra

Tipo: int

O número de bytes extras a serem alocados após a instância da janela. O sistema inicializa os bytes como zero. Se um aplicativo usa WNDCLASSEX para registrar uma caixa de diálogo criada usando a diretiva CLASS no arquivo de recurso, ele deve definir esse membro como DLGWINDOWEXTRA.

hInstance

Tipo: HINSTANCE

Um identificador para a instância que contém o procedimento de janela da classe.

hIcon

Tipo: HICON

Um identificador para o ícone de classe. Esse membro deve ser um identificador para um recurso de ícone. Se esse membro estiver NULL, o sistema fornecerá um ícone padrão.

hCursor

Tipo: HCURSOR

Um identificador para o cursor de classe. Esse membro deve ser um identificador para um recurso de cursor. Se esse membro estiver NULL, um aplicativo deverá definir explicitamente a forma do cursor sempre que o mouse se mover para a janela do aplicativo.

hbrBackground

Tipo: HBRUSH

Um identificador para o pincel de plano de fundo da classe. Esse membro pode ser um identificador para o pincel a ser usado para pintar a tela de fundo ou pode ser um valor de cor. Um valor de cor deve ser uma das seguintes cores padrão do sistema (o valor 1 deve ser adicionado à cor escolhida). Se um valor de cor for fornecido, você deverá convertê-lo em um dos seguintes tipos de HBRUSH :

  • COLOR_ACTIVEBORDER
  • COLOR_ACTIVECAPTION
  • COLOR_APPWORKSPACE
  • COLOR_BACKGROUND
  • COLOR_BTNFACE
  • COLOR_BTNSHADOW
  • COLOR_BTNTEXT
  • COLOR_CAPTIONTEXT
  • COLOR_GRAYTEXT
  • COLOR_HIGHLIGHT
  • COLOR_HIGHLIGHTTEXT
  • COLOR_INACTIVEBORDER
  • COLOR_INACTIVECAPTION
  • COLOR_MENU
  • COLOR_MENUTEXT
  • COLOR_SCROLLBAR
  • COLOR_WINDOW
  • COLOR_WINDOWFRAME
  • COLOR_WINDOWTEXT
O sistema exclui automaticamente pincéis de plano de fundo de classe quando a classe não é registrada usando UnregisterClass. Um aplicativo não deve excluir esses pincéis.

Quando esse membro é NULL, um aplicativo deve pintar sua própria tela de fundo sempre que for solicitado a pintar em sua área de cliente. Para determinar se a tela de fundo deve ser pintada, um aplicativo pode processar a mensagem WM_ERASEBKGND ou testar o membro fErase da estrutura PAINTSTRUCT preenchida pela função BeginPaint.

lpszMenuName

Tipo: LPCTSTR

Um ponteiro para uma cadeia de caracteres terminada em nulo que especifica o nome do recurso do menu de classe, como o nome aparece no arquivo de recurso. Se você usar um inteiro para identificar o menu, use a macro MAKEINTRESOURCE. Se esse membro estiver NULL, as janelas pertencentes a essa classe não terão nenhum menu padrão.

lpszClassName

Tipo: LPCTSTR

Um ponteiro para uma cadeia de caracteres terminada em nulo ou é um átomo. Se esse parâmetro for um atom, ele deverá ser um atom de classe criado por uma chamada anterior para a função RegisterClass ou RegisterClassEx. O átomo deve estar na palavra de baixa ordem de lpszClassName; a palavra de alta ordem deve ser zero.

Se lpszClassName for uma cadeia de caracteres, ela especifica o nome da classe de janela. O nome da classe pode ser qualquer nome registrado com RegisterClass ou RegisterClassEx ou qualquer um dos nomes de classe de controle predefinidos.

O comprimento máximo para lpszClassName é 256. Se lpszClassName for maior que o comprimento máximo, a função RegisterClassEx falhará.

hIconSm

Tipo: HICON

Um identificador para um ícone pequeno associado à classe de janela. Se esse membro estiver NULL, o sistema pesquisará o recurso de ícone especificado pelo membro do hIcon para um ícone do tamanho apropriado a ser usado como o ícone pequeno.

Observações

Nota

O cabeçalho winuser.h define WNDCLASSEX como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante do pré-processador UNICODE. A combinação do uso do alias neutro de codificação com código que não é neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Conventions for Function Prototypes.

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows 2000 Professional [somente aplicativos da área de trabalho]
servidor com suporte mínimo Windows 2000 Server [somente aplicativos da área de trabalho]
cabeçalho winuser.h (inclua Windows.h)

Consulte também

Conceitual

GetClassInfoEx

de referência de

RegisterClassEx

UnregisterClass

classes de janela