Funzione SetClassLongPtrW (winuser.h)
Sostituisce il valore 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
ULONG_PTR SetClassLongPtrW(
[in] HWND hWnd,
[in] int nIndex,
[in] LONG_PTR dwNewLong
);
Parametri
[in] hWnd
Tipo: HWND
Handle alla finestra e, indirettamente, alla classe a cui appartiene la finestra.
[in] nIndex
Tipo: int
Valore da sostituire. Per impostare un valore nella memoria di classe aggiuntiva, specificare l'offset di byte positivo e in base zero del valore da impostare. I valori validi si trovano nell'intervallo zero attraverso il numero di byte di memoria di classe aggiuntiva, meno otto; ad esempio, se si specificano 24 o più byte di memoria di classe aggiuntiva, un valore pari a 16 è un indice al terzo intero. Per impostare un valore diverso dalla 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 SetWindowLongPtr. |
|
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. |
|
Recupera un handle per l'icona piccola associata alla classe. |
|
Sostituisce un handle al modulo che ha registrato la classe. |
|
Sostituisce il puntatore alla stringa del nome del menu. La stringa identifica la risorsa del menu associata alla classe. |
|
Sostituisce i bit di stile della classe di finestra. |
|
Sostituisce il puntatore alla routine della finestra associata alla classe . |
[in] dwNewLong
Tipo: LONG_PTR
Valore sostitutivo.
Valore restituito
Tipo: ULONG_PTR
Se la funzione ha esito positivo, il valore restituito è il valore precedente dell'offset specificato. Se 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 usa la funzione SetClassLongPtr e l'indice GCLP_WNDPROC per sostituire la procedura della finestra, la procedura della finestra deve essere conforme alle linee guida specificate nella descrizione della funzione di callback WindowProc .
La chiamata a SetClassLongPtr con l'indice GCLP_WNDPROC crea una sottoclasse della classe finestra che influisce su tutte le finestre create successivamente con la classe . Un'applicazione può sottoclassere 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 SetClassLongPtr con attenzione. Ad esempio, è possibile modificare il colore di sfondo per una classe usando SetClassLongPtr, ma questa modifica non esegue immediatamente il repint di tutte le finestre appartenenti alla classe.
Nota
L'intestazione winuser.h definisce SetClassLongPtr come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante preprocessore UNICODE. La combinazione dell'utilizzo dell'alias di codifica neutrale con il codice che non è neutrale dalla codifica può causare errori di corrispondenza che causano errori di compilazione o runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzione.
Requisiti
Requisito | Valore |
---|---|
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 (introdotta in Windows 10, versione 10.0.10240) |
Vedi anche
Informazioni concettuali
Riferimento