Funzione SetClassLongA (winuser.h)
Sostituisce il valore a 32 bit (long) specificato in corrispondenza dell'offset specificato nella memoria della classe aggiuntiva o nella struttura WNDCLASSEX per la classe a cui appartiene la finestra specificata.
Sintassi
DWORD SetClassLongA(
[in] HWND hWnd,
[in] int nIndex,
[in] LONG dwNewLong
);
Parametri
[in] hWnd
Tipo: HWND
Handle per la finestra e, indirettamente, la classe a cui appartiene la finestra.
[in] nIndex
Tipo: int
Valore da sostituire. Per impostare un valore a 32 bit nella memoria della classe aggiuntiva, specificare l'offset di byte positivo in base zero del valore da impostare. I valori validi sono compresi nell'intervallo zero fino al numero di byte di memoria di classe aggiuntiva, meno quattro; Ad esempio, se sono stati specificati 12 o più byte di memoria di classe aggiuntiva, il valore 8 sarà un indice al terzo numero intero a 32 bit. Per impostare qualsiasi altro valore della struttura WNDCLASSEX , specificare uno dei valori seguenti.
Valore | Significato |
---|---|
|
Imposta le dimensioni, in byte, della memoria aggiuntiva associata alla classe . L'impostazione di questo valore non modifica il numero di byte aggiuntivi già allocati. |
|
Imposta le dimensioni, in byte, della memoria della finestra aggiuntiva associata a ogni finestra della classe . L'impostazione di questo valore non modifica il numero di byte aggiuntivi già allocati. Per informazioni su come accedere a questa memoria, vedere SetWindowLong. |
|
Sostituisce un handle al pennello di sfondo associato alla classe . |
|
Sostituisce un handle al cursore associato alla classe . |
|
Sostituisce un handle all'icona associata alla classe . |
|
Sostituire un handle per l'icona piccola associata alla classe . |
|
Sostituisce un handle al modulo che ha registrato la classe . |
|
Sostituisce l'indirizzo della stringa del nome del menu. La stringa identifica la risorsa di menu associata alla classe . |
|
Sostituisce i bit di stile della classe finestra. |
|
Sostituisce l'indirizzo della routine finestra associata alla classe . |
[in] dwNewLong
Tipo: LONG
Valore sostitutivo.
Valore restituito
Tipo: DWORD
Se la funzione ha esito positivo, il valore restituito è il valore precedente dell'intero a 32 bit specificato. Se il valore non è stato impostato in precedenza, il valore restituito è zero.
Se la funzione ha esito negativo, il valore restituito è zero. Per informazioni dettagliate sull'errore, chiamare GetLastError.
Commenti
Se si utilizza la funzione SetClassLong e l'indice GCL_WNDPROC per sostituire la routine window, la routine window deve essere conforme alle linee guida specificate nella descrizione della funzione di callback WindowProc .
La chiamata a SetClassLong con l'indice GCL_WNDPROC crea una sottoclasse della classe finestra che influisce su tutte le finestre create successivamente con la classe . Un'applicazione può sottoclasse una classe di sistema, ma non deve sottoclasse una classe finestra creata da un altro processo.
Riservare memoria di classe aggiuntiva specificando un valore diverso da zero nel membro cbClsExtra della struttura WNDCLASSEX utilizzata con la funzione RegisterClassEx .
Usare la funzione SetClassLong con attenzione. Ad esempio, è possibile modificare il colore di sfondo per una classe usando SetClassLong, ma questa modifica non aggiorna immediatamente tutte le finestre appartenenti alla classe .
Esempio
Per un esempio, vedere Visualizzazione di un'icona.
Nota
L'intestazione winuser.h definisce SetClassLong come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice che non è indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzioni.
Requisiti
Client minimo supportato | Windows 2000 Professional [solo app desktop] |
Server minimo supportato | Windows 2000 Server [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | winuser.h (include Windows.h) |
Libreria | User32.lib |
DLL | User32.dll |
Set di API | ext-ms-win-ntuser-windowclass-l1-1-2 (introdotto in Windows 10, versione 10.0.10240) |
Vedi anche
Informazioni concettuali
Riferimento