Función SetClassLongA (winuser.h)
Reemplaza el valor de 32 bits especificado (long) 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
DWORD SetClassLongA(
[in] HWND hWnd,
[in] int nIndex,
[in] LONG 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 de 32 bits 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 hasta el número de bytes de memoria de clase adicional, menos cuatro; por ejemplo, si especificó 12 o más bytes de memoria de clase adicional, un valor de 8 sería un índice para el tercer entero de 32 bits. Para establecer cualquier otro valor 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 SetWindowLong. |
|
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 . |
|
Reemplace un identificador por el icono pequeño asociado a la clase . |
|
Reemplaza un identificador al módulo que registró la clase . |
|
Reemplaza la dirección de 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 la dirección del procedimiento de ventana asociado a la clase . |
[in] dwNewLong
Tipo: LONG
Valor de reemplazo.
Valor devuelto
Tipo: DWORD
Si la función se ejecuta correctamente, el valor devuelto es el valor anterior del entero de 32 bits especificado. Si el valor 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 SetClassLong y el índice de GCL_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 SetClassLong con el índice GCL_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 SetClassLong con cuidado. Por ejemplo, es posible cambiar el color de fondo de una clase mediante SetClassLong, pero este cambio no vuelve a pintar inmediatamente todas las ventanas que pertenecen a la clase .
Ejemplos
Para obtener un ejemplo, vea Mostrar un icono.
Nota:
El encabezado winuser.h define SetClassLong 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 neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o 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 (incluir 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