Estructura WNDCLASSA (winuser.h)

Contiene los atributos de clase de ventana registrados por la función RegisterClass .

Esta estructura se ha reemplazado por la estructura WNDCLASSEX usada con la función RegisterClassEx . Todavía puede usar WNDCLASS y RegisterClass si no es necesario establecer el icono pequeño asociado a la clase de ventana.

Sintaxis

typedef struct tagWNDCLASSA {
  UINT      style;
  WNDPROC   lpfnWndProc;
  int       cbClsExtra;
  int       cbWndExtra;
  HINSTANCE hInstance;
  HICON     hIcon;
  HCURSOR   hCursor;
  HBRUSH    hbrBackground;
  LPCSTR    lpszMenuName;
  LPCSTR    lpszClassName;
} WNDCLASSA, *PWNDCLASSA, *NPWNDCLASSA, *LPWNDCLASSA;

Miembros

style

Tipo: UINT

Estilos de clase. Este miembro puede ser cualquier combinación de los estilos de clase.

lpfnWndProc

Tipo: WNDPROC

Puntero al procedimiento de ventana. Debe usar la función CallWindowProc para llamar al procedimiento de ventana. Para obtener más información, vea WindowProc.

cbClsExtra

Tipo: int

Número de bytes adicionales que se van a asignar después de la estructura de clase de ventana. El sistema inicializa los bytes en cero.

cbWndExtra

Tipo: int

Número de bytes adicionales que se van a asignar después de la instancia de ventana. El sistema inicializa los bytes en cero. Si una aplicación usa WNDCLASS para registrar un cuadro de diálogo creado mediante la directiva CLASS en el archivo de recursos, debe establecer este miembro en DLGWINDOWEXTRA.

hInstance

Tipo: HINSTANCE

Identificador de la instancia que contiene el procedimiento de ventana de la clase .

hIcon

Tipo: HICON

Identificador del icono de clase. Este miembro debe ser un identificador de un recurso de icono. Si este miembro es NULL, el sistema proporciona un icono predeterminado.

hCursor

Tipo: HCURSOR

Identificador del cursor de clase. Este miembro debe ser un identificador para un recurso de cursor. Si este miembro es NULL, una aplicación debe establecer explícitamente la forma del cursor cada vez que el mouse se mueve a la ventana de la aplicación.

hbrBackground

Tipo: HBRUSH

Identificador del pincel de fondo de clase. Este miembro puede ser un identificador para el pincel físico que se usará para pintar el fondo o puede ser un valor de color. Un valor de color debe ser uno de los siguientes colores del sistema estándar (el valor 1 debe agregarse al color elegido). Si se proporciona un valor de color, debe convertirlo en uno de los siguientes tipos HBRUSH :

  • COLOR_ACTIVEBORDER
  • COLOR_ACTIVECAPTION
  • COLOR_APPWORKSPACE
  • COLOR_BACKGROUND
  • COLOR_BTNFACE
  • COLOR_BTNSHADOW
  • COLOR_BTNTEXT
  • COLOR_CAPTIONTEXT
  • COLOR_GRAYTEXT
  • COLOR_HIGHLIGHT
  • COLOR_HIGHLIGHTTEXT
  • COLOR_INACTIVEBORDER
  • COLOR_INACTIVECAPTION
  • COLOR_MENU
  • COLOR_MENUTEXT
  • COLOR_SCROLLBAR
  • COLOR_WINDOW
  • COLOR_WINDOWFRAME
  • COLOR_WINDOWTEXT
El sistema elimina automáticamente los pinceles de fondo de clase cuando la clase no se registra mediante UnregisterClass. Una aplicación no debe eliminar estos pinceles.

Cuando este miembro es NULL, una aplicación debe pintar su propio fondo siempre que se solicite pintar en su área cliente. Para determinar si se debe pintar el fondo, una aplicación puede procesar el mensaje de WM_ERASEBKGND o probar el miembro fErase de la estructura PAINTSTRUCT rellenada por la función BeginPaint .

lpszMenuName

Tipo: LPCTSTR

Nombre del recurso del menú de clase, tal como aparece en el archivo de recursos. Si usa un entero para identificar el menú, use la macro MAKEINTRESOURCE . Si este miembro es NULL, las ventanas que pertenecen a esta clase no tienen ningún menú predeterminado.

lpszClassName

Tipo: LPCTSTR

Un puntero a una cadena terminada en null o es un átomo. Si este parámetro es un átomo, debe ser un átomo de clase creado por una llamada anterior a la función RegisterClass o RegisterClassEx . El átomo debe estar en la palabra de orden bajo de lpszClassName; la palabra de orden superior debe ser cero.

Si lpszClassName es una cadena, especifica el nombre de la clase de ventana. El nombre de clase puede ser cualquier nombre registrado con RegisterClass o RegisterClassEx, o cualquiera de los nombres predefinidos de clase de control.

La longitud máxima de lpszClassName es 256. Si lpszClassName es mayor que la longitud máxima, se producirá un error en la función RegisterClass .

Comentarios

Nota

El encabezado winuser.h define WNDCLASS 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

Requisito Value
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Encabezado winuser.h (incluya Windows.h)

Consulte también

BeginPaint

Conceptual

CreateWindow

CreateWindowEx

GetDC

MAKEINTRESOURCE

Otros recursos

PAINTSTRUCT

Referencia

RegisterClass

Anular el registroClase

WM_PAINT

WNDCLASSEX

Clases de ventanas

WindowProc