Función SetClassLongPtrA (winuser.h)
Reemplaza el valor especificado en el desplazamiento especificado en la memoria de clase adicional o la estructura WNDCLASSEX de la clase a la que pertenece la ventana especificada.
Sintaxis
ULONG_PTR SetClassLongPtrA(
[in] HWND hWnd,
[in] int nIndex,
[in] LONG_PTR dwNewLong
);
Parámetros
[in] hWnd
Tipo: HWND
Identificador de la ventana y, indirectamente, la clase a la que pertenece la ventana.
[in] nIndex
Tipo: int
Valor que se va a reemplazar. Para establecer un valor en la memoria de clase adicional, especifique el desplazamiento de bytes positivo basado en cero del valor que se va a establecer. Los valores válidos están en el intervalo cero a través del número de bytes de memoria de clase adicional, menos ocho; por ejemplo, si especificó 24 o más bytes de memoria de clase adicional, un valor de 16 sería un índice para el tercer entero. Para establecer un valor distinto de la estructura WNDCLASSEX , especifique uno de los valores siguientes.
Valor | Significado |
---|---|
|
Establece el tamaño, en bytes, de la memoria adicional asociada a la clase . Establecer este valor no cambia el número de bytes adicionales ya asignados. |
|
Establece el tamaño, en bytes, de la memoria de ventana adicional asociada a cada ventana de la clase . Establecer este valor no cambia el número de bytes adicionales ya asignados. Para obtener información sobre cómo acceder a esta memoria, vea SetWindowLongPtr. |
|
Reemplaza un identificador al pincel de fondo asociado a la clase . |
|
Reemplaza un identificador al cursor asociado a la clase . |
|
Reemplaza un identificador al icono asociado a la clase . |
|
Recupera un identificador del icono pequeño asociado a la clase . |
|
Reemplaza un identificador al módulo que registró la clase . |
|
Reemplaza el puntero a la cadena de nombre de menú. La cadena identifica el recurso de menú asociado a la clase . |
|
Reemplaza los bits de estilo de clase de ventana. |
|
Reemplaza el puntero al procedimiento de ventana asociado a la clase . |
[in] dwNewLong
Tipo: LONG_PTR
Valor de reemplazo.
Valor devuelto
Tipo: ULONG_PTR
Si la función se ejecuta correctamente, el valor devuelto es el valor anterior del desplazamiento especificado. Si no se estableció anteriormente, el valor devuelto es cero.
Si la función no se realiza correctamente, el valor devuelto es cero. Para obtener información de error extendida, llame a GetLastError.
Comentarios
Si usa la función SetClassLongPtr y el índice de GCLP_WNDPROC para reemplazar el procedimiento de ventana, el procedimiento de ventana debe cumplir las directrices especificadas en la descripción de la función de devolución de llamada WindowProc .
Al llamar a SetClassLongPtr con el índice de GCLP_WNDPROC , se crea una subclase de la clase window que afecta a todas las ventanas creadas posteriormente con la clase . Una aplicación puede subclase una clase del sistema, pero no debe subclase una clase de ventana creada por otro proceso.
Reserve memoria de clase adicional especificando un valor distinto de cero en el miembro cbClsExtra de la estructura WNDCLASSEX utilizada con la función RegisterClassEx .
Use la función SetClassLongPtr con cuidado. Por ejemplo, es posible cambiar el color de fondo de una clase mediante SetClassLongPtr, pero este cambio no vuelve a dibujar inmediatamente todas las ventanas que pertenecen a la clase .
Nota:
El encabezado winuser.h define SetClassLongPtr como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutro de codificación con código que no es neutral de codificación puede provocar discrepancias que dan lugar a errores de compilación o en tiempo de ejecución. Para obtener más información, vea Convenciones para prototipos de función.
Requisitos
Cliente mínimo compatible | Windows 2000 Professional [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows 2000 Server [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | winuser.h (incluya Windows.h) |
Library | User32.lib |
Archivo DLL | User32.dll |
Conjunto de API | ext-ms-win-ntuser-windowclass-l1-1-2 (introducido en Windows 10, versión 10.0.10240) |
Consulte también
Conceptual
Referencia