SetClassLong

La funzione SetClassLong sostituisce il valore (lungo) a 32 bit specificato all'offset specificato in memoria supplementare classe o la struttura WNDCLASSEX per la classe a cui appartiene la finestra specificata.

(DWORD SetClassLong HWND  hWnd, / / handle di finestraintnIndex, / / indice del valore di cambiareLungadwNewLong / / nuovo valore);
 

Parametri

hWnd
Gestire la finestra e, indirettamente, la classe a cui appartiene la finestra.
nIndex
Specifica il valore a 32 bit per sostituire. Per impostare un valore a 32 bit nella memoria categoria extra, specificare l'offset di byte positivo, in base zero del valore da impostare. I valori validi sono nella gamma zero attraverso il numero di byte di memoria categoria extra, meno quattro; ad esempio, se è stato specificato 12 o più byte di memoria categoria extra, un valore di 8 sarebbe un indice per il terzo integer a 32 bit. Per impostare qualsiasi altro valore dalla struttura WNDCLASSEX , specificare uno dei seguenti valori:
Valore Azione
GCL_CBCLSEXTRA Imposta la dimensione in byte di memoria supplementare associato alla classe. L'impostazione di questo valore non cambia il numero di byte supplementari già stanziato.
GCL_CBWNDEXTRA Imposta la dimensione in byte di memoria supplementare finestra associati a ogni finestra nella classe. L'impostazione di questo valore non cambia il numero di byte supplementari già stanziato. Per informazioni su come accedere a questa memoria, vedere SetWindowLong.
GCL_HBRBACKGROUND Sostituisce la maniglia del pennello sfondo associato alla classe.
GCL_HCURSOR Sostituisce la maniglia del cursore associato alla classe.
GCL_HICON Sostituisce l'handle dell'icona associata la classe.
GCL_HMODULE Sostituisce l'handle del modulo che ha registrato la classe.
GCL_MENUNAME Sostituisce l'indirizzo della stringa nome dal menu. La stringa identifica la risorsa di menu associata alla classe.
GCL_STYLE Sostituisce i bit di stile della classe della finestra.
GCL_WNDPROC Sostituisce l'indirizzo di una routine di finestra associata alla classe.

dwNewLong
Specifica il valore di sostituzione.

Valori restituiti

Se la funzione ha esito positivo, il valore restituito è il precedente valore integer a 32 bit specificato. Se il valore non è stato impostato in precedenza, il valore restituito è pari a zero.

Se la funzione ha esito negativo, il valore restituito è zero. Per ottenere informazioni di errore estese, chiamare GetLastError.

Osservazioni

Se si utilizza la funzione di SetClassLong e l'indice GCL_WNDPROC per sostituire la routine della finestra, la routine della finestra deve essere conforme alle linee guida specificate nella descrizione della funzione di callback WindowProc.

La chiamata di SetClassLong con l'indice GCL_WNDPROC crea una sottoclasse della classe window che colpisce tutte le finestre successivamente create con la classe. Un'applicazione può sottoclasse una classe di sistema, ma dovrebbe non sottoclasse creata una classe di finestra da un altro processo.

Riserva di memoria categoria extra specificando un valore diverso da zero nel membro cbClsExtra della struttura WNDCLASSEX utilizzata con la funzione RegisterClassEx.

Utilizzare la funzione SetClassLong con cura. Ad esempio, è possibile modificare il colore di sfondo per una classe mediante SetClassLong, ma questo cambiamento non riverniciare immediatamente tutte le finestre appartenenti alla classe.

Windows CE: Il parametro nIndex è un byte compensata ma deve essere un multiplo di 4 byte. Accesso non allineato non è supportato.

Nessuno dei valori GCL_ * standard sono supportati nel parametro nIndex , con una sola eccezione. Se il dispositivo sono targeting supporta un cursore del mouse, è possibile utilizzare il valore GCL_HCURSOR nel parametro nIndex.

Nota Versioni di Windows CE che supportano i cursori del mouse includono i componenti Iconcurs e Mcursor, piuttosto che i componenti di icone e cursori.

Descrizione

nbsp; Windows &NT: richiede 3.1 o versione successiva.
Windows:Richiede Windows 95 o versioni successive.
Windows CE:Richiede la versione 1.0 o successiva.
Intestazione:Dichiarati in winuser.
Importare librerie:Utilizzare user32.lib.
Unicode:Implementato come versioni Unicode e ANSI su Windows NT.

Vedi anche

Finestra panoramica di classi, funzioni di classe Window, GetClassLong, RegisterClassEx, SetWindowLong, WindowProc, WNDCLASSEX