Estrutura WNDCLASSA (winuser.h)

Contém os atributos de classe de janela registrados pela função RegisterClass .

Essa estrutura foi substituída pela estrutura WNDCLASSEX usada com a função RegisterClassEx . Você ainda poderá usar WNDCLASS e RegisterClass se não precisar definir o pequeno ícone associado à classe de janela.

Sintaxe

typedef struct tagWNDCLASSA {
  UINT      style;
  WNDPROC   lpfnWndProc;
  int       cbClsExtra;
  int       cbWndExtra;
  HINSTANCE hInstance;
  HICON     hIcon;
  HCURSOR   hCursor;
  HBRUSH    hbrBackground;
  LPCSTR    lpszMenuName;
  LPCSTR    lpszClassName;
} WNDCLASSA, *PWNDCLASSA, *NPWNDCLASSA, *LPWNDCLASSA;

Membros

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 de 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 usar WNDCLASS para registrar uma caixa de diálogo criada usando a diretiva CLASS no arquivo de recurso, ele deverá definir esse membro como DLGWINDOWEXTRA.

hInstance

Tipo: HINSTANCE

Um identificador para a instância que contém o procedimento de janela para a 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 for 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 for 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 físico 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 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 tela de fundo da 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 seu próprio plano 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

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 for NULL, as janelas que pertencem 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 atom. 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, ele especificará 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 RegisterClass falhará.

Comentários

Observação

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

Requisitos

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

Confira também

Beginpaint

Conceitual

Createwindow

Createwindowex

Getdc

MAKEINTRESOURCE

Outros recursos

PAINTSTRUCT

Referência

Registerclass

UnregisterClass

WM_PAINT

WNDCLASSEX

Classes de janela

WindowProc