WNDCLASS
9/9/2008
Essa estrutura contém os atributos classe janela que são registrados pelo RegisterClass função.
Syntax
typedef struct _WNDCLASS {
UINT style;
WNDPROC lpfnWndProc;
int cbClsExtra;
int cbWndExtra;
HANDLE hInstance;
HICON hIcon;
HCURSOR hCursor;
HBRUSH hbrBackground;
LPCTSTR lpszMenuName;
LPCTSTR lpszClassName;
} WNDCLASS;
Os membros
estilo
Especifica a classe style(s). Os estilos podem ser combinados usando a bit a bit OU operador (|). Esse membro pode ser qualquer combinação dos seguinte valores.Valor Descrição CS_DBLCLKS
Clique duplo envia mensagens para o procedimento janela quando o usuário clica duas vezes o mouse enquanto o cursor estiver em uma janela que pertencem à classe.
CS_HREDRAW
Redesenha a janela inteira se um movimento ou ajuste tamanho for alterado a largura da área de cliente.
CS_NOCLOSE
Desativa Fechar no menu janela menu.
CS_PARENTDC
Define o região de recorte do janela filho para que a janela pai de modo que o filho pode desenhar no pai. Uma janela com bit de estilo de CS_PARENTDC recebe um regular contexto dispositivo de armazenar em cache do sistema de dispositivo contextos. Ele não dá o filho configurações contexto para dispositivo ou contexto para dispositivo do o pai. Especificar CS_PARENTDC aprimora desempenho de um aplicativo.
CS_VREDRAW
Redesenha a janela inteira se um movimento ou ajuste tamanho for alterado a altura da área de cliente.
- lpfnWndProc
Ponteiro longo 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 seguinte a janela-classe estrutura. O sistema inicializa os bytes para zero.
- cbWndExtra
Especifica o número de adicional bytes para alocar seguinte instância de janela. O sistema inicializa os bytes para zero. Se um aplicativo usa WNDCLASS Para registrar uma caixa diálogo criada usando o Classe diretiva no arquivo de recurso, o aplicativo deve definir cbWndExtra Igual de valor obtido por cbWndExtra Quando o aplicativo chama o GetClassInfo função sobre o sistema classe DIALOG. Esse valor é o número de adicional bytes requer o OS para cada caixa diálogo.
- hInstance
Identificador para a instância que o procedimento janela dessa classe é No.
- hIcon
Sem suporte; Definir como 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 para um recurso cursor. Se esse membro é NULL, um aplicativo deve explicitamente conjunto a forma cursor sempre que move o mouse na janela do aplicativo a.
hbrBackground
Identificador para o pincel segundo plano classe. Esse membro pode ser um identificador para o físico pincel para ser usada para pintura o segundo plano, ou ele pode ser um valor cor. Um valor cor deve ser um do seguinte padrão cores sistema (o valor 1 deve ser adicionado à cor escolhida). Se um valor cor for fornecido, você deve convertê-lo para um do seguinte HBRUSH Tipos:COLOR_ACTIVEBORDER
COLOR_HIGHLIGHTTEXT
COLOR_ACTIVECAPTION
COLOR_INACTIVEBORDER
COLOR_APPWORKSPACE
COLOR_INACTIVECAPTION
COLOR_BACKGROUND
COLOR_MENU
COLOR_BTNFACE
COLOR_MENUTEXT
COLOR_BTNSHADOW
COLOR_SCROLLBAR
COLOR_BTNTEXT
COLOR_WINDOW
COLOR_CAPTIONTEXT
COLOR_WINDOWFRAME
COLOR_GRAYTEXT
COLOR_WINDOWTEXT
COLOR_HIGHLIGHT
Os sistema automaticamente exclui a classe segundo plano pincéis quando a classe é liberada. Um aplicativo não deve excluir essas pincéis, porque uma classe pode ser usado por múltiplo instâncias de um aplicativo.
Quando esse membro é NULL, um aplicativo deve tinta própria segundo plano sempre que ela for solicitada a tinta na sua área cliente. Para determinar se o segundo plano deve ser pintura, um aplicativo pode qualquer processo de WM_ERASEBKGND mensagem ou testar a fErase membro das PAINTSTRUCT estrutura preenchida pela BeginPaint função.
- lpszMenuName
Ponteiro longo para um seqüência de caracteres NULL-Terminated que especifica o nome recurso do menu de classe, como o nome aparece no arquivo de recurso. Se você usar um inteiro para identificar o menu, use o MAKEINTRESOURCE macro. Se esse membro é NULL, janelas pertencentes a essa classe não tem nenhum menu usar como padrão.
lpszClassName
Qualquer um longo ponteiro para uma seqüência de caracteres NULL-Terminated ou um átomo. Se esse membro 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 estar na baixa-Palavra de ordem lpszClassName; o alto-palavra ordem deve ser zero.Se lpszClassName é um seqüência de caracteres, ela especifica o nome classe janela.
Remarks
O seguinte membros são restritos.
- cbClsExtra Deve ser um múltiplo de quatro.
- cbWndExtra Deve ser um múltiplo de quatro.
- A menos que você esteja usando o componente Iconcurs Windows Embedded CE, que oferece suporte a cursores mouse em apropriado plataformas destino, o hCursor membro deve ser definido como NULL.
- lpszMenuName não é com suporte e deve ser NULL.
- lpszClassName Deve ser um seqüência de caracteres. Átomos não são com suporte.
- Em Windows CE 1.0, a estilo membro só pode ser o valor CS_DBLCLKS.
- No Windows CE 2.0 e posterior, o estilo membro pode ser o seguinte valores:
- CS_DBLCLKS
- CS_HREDRAW
- CS_IME
- CS_NOCLOSE
- CS_PARENTDC
- CS_VREDRAW
Windows Embedded CE, todas as classes janela são processo global.
Observação
A técnica de colocar um nome classe e DLL no Registro e ter uma DLL automaticamente carregados não é com suporte.
Requirements
Header | winuser.h |
Windows Embedded CE | Windows CE 1.0 and later |
Windows Mobile | Windows Mobile Version 5.0 and later |
See Also
Reference
Window Class Structures
BeginPaint
CallWindowProc
CreateWindow
CreateWindowEx
GetDC
GetClassInfo
PAINTSTRUCT
RegisterClass
WindowProc
WM_PAINT
MAKEINTRESOURCE