WNDCLASSEX

A estrutura WNDCLASSEX contém informações de classe janela. Ele é usado com o RegisterClassEx e GetClassInfoEx funções.

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

typedef struct _WNDCLASSEX {UINT cbSize; 
    UINT estilo; 
    WNDPROC lpfnWndProc; 
    int cbClsExtra; 
    int cbWndExtra; 
    IDENTIFICADOR de hInstance; 
    HICON hIcon; 
    HCURSOR hCursor; 
    HBRUSH hbrBackground; 
    LPCTSTR lpszMenuName; 
    LPCTSTR lpszClassName; 
    HICON hIconSm; 
} WNDCLASSEX 

 

Membros

cbSize
Especifica o tamanho, em bytes, dessa estrutura. Defina esse membro para sizeof(WNDCLASSEX). Certifique-se de definir esse membro antes chamado de função GetClassInfoEx.
estilo
Especifica a classe style(s). Estilos podem ser combinados usando o bit a bit ou operador (|). Esse membro pode ser qualquer combinação do seguinte valores:
Valor Ação
CS_BYTEALIGNCLIENT Alinha o área cliente da janela sobre o limite de bytes (na direção x). Este estilo afeta a largura da janela e sua posição horizontal no visor.
CS_BYTEALIGNWINDOW Alinha uma janela em um limite de byte (na direção x). Este estilo afeta a largura da janela e sua posição horizontal no visor.
CS_CLASSDC Aloca um contexto para dispositivo a ser compartilhado por todas as janelas da classe. Porque as classes de janela são processo específico, é possível que vários threads de um aplicativo para criar uma janela da mesma classe. Também é possível para os threads a tentar usar o contexto para dispositivo simultaneamente. Quando isso acontece, o sistema permite que apenas um thread concluir com êxito a sua operação de desenho. Para obter mais informações, consulte Contextos de dispositivo.
CS_DBLCLKS Envia duplo em mensagens para o procedimento de janela quando o usuário clica Duplo o mouse enquanto o cursor estiver dentro de uma janela pertencente à classe.
CS_GLOBALCLASS Permite que um aplicativo criar uma janela da classe independentemente do valor do parâmetro hInstance passado para o CreateWindowEx função. Se você não especificar esse estilo, o hInstance parâmetro passado para a função CreateWindow (ou CreateWindowEx) deve ser o mesmo que o hInstance parâmetro passado para a função de RegisterClassEx.
Você pode criar uma classe global criando a classe de janela em um dynamic-link library (DLL) e listando o nome da DLL no registro sob as seguintes chaves:
HKEY_LOCAL_MACHINE\Software
\Microsoft\Windows NT\
CurrentVersion\Windows\AppInit_DLLs
Sempre que um processo é iniciado, o sistema carrega as DLLs especificadas no contexto do processo recém iniciado antes de chamar a função de ponto de entrada nesse processo. A DLL deve registrar a classe durante o seu procedimento de inicialização e deve especificar o estilo CS_GLOBALCLASS.
CS_HREDRAW Redesenha a janela inteira se um movimento ou ajuste de tamanho altera a largura da área do cliente.
CS_NOCLOSE Desabilita a Fechar no menu janela.
CS_OWNDC Aloca um contexto para dispositivo exclusivo para cada janela na classe. Para obter mais informações, consulte Contextos de dispositivo.
CS_PARENTDC Define a região de corte da janela filho da janela pai para que a criança pode desenhar no pai. Uma janela com o bit de estilo CS_PARENTDC recebe um contexto de dispositivo regular do cache do sistema de contextos de dispositivo. Ele não dá a criança o pai contexto dispositivo ou configurações de contexto de dispositivo. Especificar CS_PARENTDC melhora o desempenho do aplicativo. Para obter mais informações, consulte Contextos de dispositivo.
CS_SAVEBITS Salva, como um bitmap, a parte da imagem na tela obscurecida por uma janela. O sistema usa o bitmap salvo para recriar a imagem da tela quando a janela é removida. O sistema exibe o bitmap em sua localização original e não envia mensagens WM_PAINT Windows obscurecida pela janela se a memória usada pelo bitmap não foi descartada e outras ações de tela não tem invalidado a imagem armazenada. Esse estilo é útil para pequenas janelas (por exemplo, menus ou caixas de diálogo) que são exibidas momentaneamente e, em seguida, removidas antes que ocorra outra atividade de tela. Este estilo aumenta o tempo necessário para exibir a janela, porque o sistema pela primeira vez deve alocar memória para armazenar o bitmap.
CS_VREDRAW Redesenha a janela inteira se um movimento ou ajuste de tamanho altera a altura da área do cliente.

lpfnWndProc
Ponteiro para o procedimento janela. Você deve usar o CallWindowProc função para chamar o procedimento janela. Para obter mais informações, consulte WindowProc.
cbClsExtra
Especifica o número de adicional bytes para alocar seguindo a estrutura de classe de janela. O sistema inicializa os bytes para zero.
cbWndExtra
Especifica o número de adicional bytes para alocar após a instância de janela. O sistema inicializa os bytes para zero. Se um aplicativo usa WNDCLASSEX para registrar uma caixa de diálogo criada usando a diretiva de classe no arquivo de recurso, ele deve definir esse membro para DLGWINDOWEXTRA.
hInstance
Identificador para a instância que o procedimento de janela desta classe está dentro.
hIcon
Identificador para o ícone de classe. Este membro deve ser um identificador de um recurso de ícone. Se esse membro é NULL, um aplicativo deve desenhar um ícone sempre que o usuário minimiza a janela do aplicativo.
hCursor
Identificador para o cursor classe. Este membro deve ser um identificador de um recurso de cursor. Se esse membro é NULL, um aplicativo deve definir explicitamente a forma cursor sempre que o mouse é movido para a janela do aplicativo.
hbrBackground
Identificador para o pincel de plano de fundo de classe. Esse membro pode ser um identificador para o pincel físico a ser usado para pintura de segundo plano, 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 para a cor escolhida). Se for fornecido um valor de cor, você deve convertê-lo para 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 é liberada. Um aplicativo não deve excluir essas escovas, pois uma classe pode ser usada por várias instâncias de um aplicativo.

Quando esse membro é NULL, um aplicativo deve pintar seu próprio fundo sempre que é solicitado para pintar em sua área de cliente. Para determinar se o plano de fundo deve ser pintado, um aplicativo pode Processoar a mensagem WM_ERASEBKGND ou testar o fErase membro do PAINTSTRUCT estrutura preenchida pelo BeginPaint função.

lpszMenuName
Ponteiro para uma Cadeia de caracteres terminada por caractere nulo que especifica o nome de recurso do menu de classe, como o nome aparece no arquivo de recurso. Se você usar um número inteiro para identificar o menu, use o MAKEINTRESOURCE macro. Se esse membro é NULL, janelas que pertencem a essa classe não tem nenhum menu padrão.
lpszClassName
Ponteiro para uma Cadeia de caracteres terminada por caractere nulo ou é um átomo. Se este parâmetro for um átomo, ele deverá ser um átomo global criado por um chamar anterior para o GlobalAddAtom função. O átomo, de 16-bit valor, deve ser na baixa-ordem palavra de lpszClassName; o alto palavra ordem deve ser zero.

Se lpszClassName é uma Cadeia de caracteres, ele especifica o nome de classe de janela.

hIconSm
Identificador para um pequeno ícone que está associado com a classe de janela. Se esse membro é NULL, o sistema procura o recurso de ícone especificado pelo hIcon membro para um ícone de tamanho apropriado para usar como o pequeno ícone.

QuickInfo

nbsp; Windows &NT: requer a versão 3.5 ou posterior.
Windows:Requer o Windows 95 ou posterior.
Windows CE:Sem suporte.
Cabeçalho:Declarado em WinUser. h.
Unicode:Definidos como estruturas ANSI e Unicode.

Ver também

Visão geral da janela Classes, estruturas de classe de janela, GetClassInfoEx, RegisterClassEx

Index