Funzione SetWindowSubclass (commctrl.h)
Installa o aggiorna un callback della sottoclasse di una finestra.
Sintassi
BOOL SetWindowSubclass(
[in] HWND hWnd,
[in] SUBCLASSPROC pfnSubclass,
[in] UINT_PTR uIdSubclass,
[in] DWORD_PTR dwRefData
);
Parametri
[in] hWnd
Tipo: HWND
Handle della finestra sottoclassata.
[in] pfnSubclass
Tipo: SUBCLASSPROC
Puntatore a una routine della finestra. Questo puntatore e l'ID della sottoclasse identificano in modo univoco questo callback della sottoclasse. Per il prototipo della funzione di callback, vedere SUBCLASSPROC.
[in] uIdSubclass
Tipo: UINT_PTR
ID sottoclasse. Questo ID insieme alla routine della sottoclasse identifica in modo univoco una sottoclasse. Per rimuovere una sottoclasse, passare la routine della sottoclasse e questo valore alla funzione RemoveWindowSubclass . Questo valore viene passato alla routine della sottoclasse nel parametro uIdSubclass.
[in] dwRefData
Tipo: DWORD_PTR
DWORD_PTR ai dati di riferimento. Il significato di questo valore è determinato dall'applicazione chiamante. Questo valore viene passato alla routine della sottoclasse nel parametro dwRefData. Un dwRefData diverso è associato a ogni combinazione di handle di finestra, routine della sottoclasse e uIdSubclass.
Valore restituito
Tipo: BOOL
TRUE se il callback della sottoclasse è stato installato correttamente; in caso contrario, FALSE.
Commenti
I callback delle sottoclassi sono identificati dalla combinazione dell'indirizzo di callback e dell'ID sottoclasse definito dal chiamante. Se l'indirizzo di callback e la coppia ID non sono ancora stati installati, questa funzione installa la sottoclasse. Se la coppia è già stata installata, questa funzione aggiorna solo i dati di riferimento.
Ogni callback può archiviare una singola DWORD_PTR di dati di riferimento, che viene passata alla funzione di callback quando viene chiamata per filtrare i messaggi. Non viene eseguito alcun conteggio dei riferimenti per il callback; può chiamare ripetutamente SetWindowSubclass per modificare il valore dell'elemento dati di riferimento.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows XP [solo app desktop] |
Server minimo supportato | Windows Server 2003 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | commctrl.h |
Libreria | Comctl32.lib |
DLL | Comctl32.dll (versione 5.8 o successiva) |
Set di API | ext-ms-win-shell-comctl32-window-l1-1-0 (introdotto in Windows 10, versione 10.0.14393) |