Compartir a través de


Función SetWindowSubclass (commctrl.h)

Instala o actualiza una devolución de llamada de subclase de ventana.

Sintaxis

BOOL SetWindowSubclass(
  [in] HWND         hWnd,
  [in] SUBCLASSPROC pfnSubclass,
  [in] UINT_PTR     uIdSubclass,
  [in] DWORD_PTR    dwRefData
);

Parámetros

[in] hWnd

Tipo: HWND

Identificador de la ventana que se va a subclasificar.

[in] pfnSubclass

Tipo: SUBCLASSPROC

Puntero a un procedimiento de ventana. Este puntero y el identificador de subclase identifican de forma única esta devolución de llamada de subclase. Para ver el prototipo de función de devolución de llamada, consulte SUBCLASSPROC.

[in] uIdSubclass

Tipo: UINT_PTR

Identificador de subclase. Este identificador junto con el procedimiento de subclase identifican de forma única una subclase. Para quitar una subclase, pase el procedimiento de subclase y este valor a la función RemoveWindowSubclass . Este valor se pasa al procedimiento de subclase en el parámetro uIdSubclass.

[in] dwRefData

Tipo: DWORD_PTR

DWORD_PTR a los datos de referencia. El significado de este valor viene determinado por la aplicación que realiza la llamada. Este valor se pasa al procedimiento de subclase en el parámetro dwRefData. Un dwRefData diferente está asociado a cada combinación de identificador de ventana, procedimiento de subclase y uIdSubclass.

Valor devuelto

Tipo: BOOL

TRUE si la devolución de llamada de subclase se instaló correctamente; de lo contrario, FALSE.

Comentarios

Las devoluciones de llamada de subclase se identifican mediante la combinación de la dirección de devolución de llamada y el identificador de subclase definido por el autor de la llamada. Si la dirección de devolución de llamada y el par de identificadores aún no se han instalado, esta función instala la subclase. Si el par ya se ha instalado, esta función solo actualiza los datos de referencia.

Cada devolución de llamada puede almacenar un único DWORD_PTR de datos de referencia, que se pasa a la función de devolución de llamada cuando se llama a para filtrar los mensajes. No se realiza ningún recuento de referencias para la devolución de llamada; puede llamar repetidamente a SetWindowSubclass para modificar el valor de su elemento de datos de referencia.

Advertencia No puede usar las funciones auxiliares de subclases para subclasar una ventana entre subprocesos.
 

Requisitos

Requisito Value
Cliente mínimo compatible Windows XP [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2003 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado commctrl.h
Library Comctl32.lib
Archivo DLL Comctl32.dll (versión 5.8 o posterior)
Conjunto de API ext-ms-win-shell-comctl32-window-l1-1-0 (introducido en Windows 10, versión 10.0.14393)

Consulte también

DefSubclassProc

GetWindowSubclass

RemoveWindowSubclass