SetClassLong

A função SetClassLong substitui o especificado 32-bit (longo) valor no deslocamento especificado para o adicional memória classe ou estrutura WNDCLASSEX para a classe à qual pertence a janela especificada.

DWORD SetClassLong ( HWND  hWnd, / / identificador da janelaintnIndex, / / índice do valor para alterarLongodwNewLong / / novo valor);
 

Parâmetros

hWnd
Identificador para a janela e, indiretamente, a classe à qual pertence a janela.
nIndex
Especifica o 32-bit valor para substituir. Para definir um 32-bit valor de adicional memória classe, especifica o deslocamento de byte positivo, baseada em zero do valor a ser definido. Os valores válidos estão no intervalo zero através de número de bytes de adicional memória classe, menos quatro; por exemplo, se você especificou 12 ou mais bytes de adicional memória classe, um valor igual a 8 seria um índice para o terceiro 32-bit inteiro. Para definir qualquer outro valor da estrutura de WNDCLASSEX , especifique um dos seguintes valores:
Valor Ação
GCL_CBCLSEXTRA Define o tamanho, em bytes, da adicional memória associado com a classe. Configuração esse valor não Alterar o número de adicional bytes já alocado.
GCL_CBWNDEXTRA Define o tamanho, em bytes, da memória extra janela associado com cada janela na classe. Configuração esse valor não Alterar o número de adicional bytes já alocados. Para obter informações sobre como acessar essa memória, consulte SetWindowLong.
GCL_HBRBACKGROUND Substitui o identificador do pincel segundo plano associado com a classe.
GCL_HCURSOR Substitui o identificador do cursor associado com a classe.
GCL_HICON Substitui o identificador do ícone associado com a classe.
GCL_HMODULE Substitui o identificador do módulo que registrou a classe.
GCL_MENUNAME Substitui o endereço da Cadeia de caracteres do nome de menu. A seqüência de caracteres identifica o recurso menu associado com a classe.
GCL_STYLE Substitui os bits de estilo de classe de janela.
GCL_WNDPROC Substitui o endereço do procedimento de janela associado com a classe.

dwNewLong
Especifica o valor de substituição.

Retornar valores

Se a função for bem-sucedido, o valor de retorno é o valor anterior da 32-bit especificado inteiro. Se o valor não foi definido anteriormente, o valor de retorno é zero.

Se a função falhar, o valor de retorno é zero. Para informações de erro estendidas get, chamar GetLastError.

Observações

Se você usar a função SetClassLong e o índice GCL_WNDPROC para substituir o procedimento de janela, o procedimento janela deve estar em conformidade com as diretrizes especificadas na descrição das WindowProc função callback.

Chamar SetClassLong com o índice GCL_WNDPROC cria uma subclasse da classe de janela que afeta todas as janelas criadas posteriormente com a classe. Um aplicativo pode subclasse uma classe de sistema, mas deve não subclasse um classe de janela criado por outro processo.

Reserve adicional memória classe, especificando um valor diferente de zero in a cbClsExtra membro da estrutura WNDCLASSEX usada com a função de RegisterClassEx.

Use a função SetClassLong com cuidado. Por exemplo, é possível alterar a cor de fundo para uma classe usando SetClassLong, mas esta alteração não imediatamente repintar todas as janelas que pertencem à classe.

Windows CE: O nÍndice parâmetro é um byte deslocamento mas deve ser um múltiplo de 4 bytes. Não é com suporte unaligned acessar.

Nenhum dos GCL_ * valores padrão são suportados no parâmetro nIndex , com uma exceção. Se o dispositivo estiver segmentaão suporta um cursor do mouse, você pode usar o valor GCL_HCURSOR in a nÍndice parâmetro.

Observação Versões do Windows CE que mouse suportam cursores incluem os componentes de Iconcurs e Mcursor ao invés dos componentes de ícones e cursores.

QuickInfo

nbsp; Windows &NT: requer a versão 3.1 ou posterior.
Windows:Requer o Windows 95 ou posterior.
Windows CE:Requer versão 1.0 ou posterior.
Cabeçalho:Declarado em WinUser. h.
Biblioteca de importação:Use user32.lib.
Unicode:Implementado como versões Unicode e ANSI no Windows NT.

Ver também

Visão geral da janela Classes, funções de classe de janela, GetClassLong, RegisterClassEx, SetWindowLong, WindowProc, WNDCLASSEX