Estrutura WNDCLASSEXA (winuser.h)
Contém informações de classe de janela. Ele é usado com as funções RegisterClassEx e GetClassInfoEx .
A estrutura WNDCLASSEX é semelhante à estrutura WNDCLASS . Há duas diferenças. WNDCLASSEX inclui o membro cbSize , que especifica o tamanho da estrutura e o membro 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 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 WNDCLASSEX 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 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
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, pois 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 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 átomo, ele deverá ser um átomo 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 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 RegisterClassEx falhará.
hIconSm
Tipo: HICON
Um identificador para um pequeno ícone associado à classe de janela. Se esse membro for NULL, o sistema pesquisará o recurso de ícone especificado pelo membro hIcon para obter um ícone do tamanho apropriado a ser usado como o ícone pequeno.
Comentários
Observação
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 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
Conceitual
Referência