Compartir a través de


Estructura WNDCLASSEXA (winuser.h)

Contiene información de clase de ventana. Se usa con las funciones RegisterClassEx y GetClassInfoEx.

La estructura WNDCLASSEX es similar a la estructura WNDCLASS de . Hay dos diferencias. WNDCLASSEX incluye el miembro cbSize, que especifica el tamaño de la estructura y el miembro hIconSm, que contiene un identificador para un icono pequeño asociado a la clase de ventana.

Sintaxis

typedef struct tagWNDCLASSEXA {
  UINT      cbSize;
  UINT      style;
  WNDPROC   lpfnWndProc;
  int       cbClsExtra;
  int       cbWndExtra;
  HINSTANCE hInstance;
  HICON     hIcon;
  HCURSOR   hCursor;
  HBRUSH    hbrBackground;
  LPCSTR    lpszMenuName;
  LPCSTR    lpszClassName;
  HICON     hIconSm;
} WNDCLASSEXA, *PWNDCLASSEXA, *NPWNDCLASSEXA, *LPWNDCLASSEXA;

Miembros

cbSize

Tipo: UINT

Tamaño, en bytes, de esta estructura. Establezca este miembro en sizeof(WNDCLASSEX). Asegúrese de establecer este miembro antes de llamar a la función GetClassInfoEx.

style

Tipo: UINT

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

lpfnWndProc

Tipo: WNDPROC de

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 WNDCLASSEX 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 de

Identificador del pincel de fondo de clase. Este miembro puede ser un identificador del pincel que se va a 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 del PAINTSTRUCT estructura rellenada por la función BeginPaint.

lpszMenuName

Tipo: LPCTSTR de

Puntero a una cadena de caracteres terminada en NULL que especifica el nombre del recurso del menú de clase, ya que el nombre 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 de

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 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 RegisterClassEx.

hIconSm

Tipo: HICON

Identificador de un icono pequeño asociado a la clase window. Si este miembro es NULL, el sistema busca en el recurso de icono especificado por el miembro hIcon para un icono del tamaño adecuado que se usará como icono pequeño.

Observaciones

Nota

El encabezado winuser.h define WNDCLASSEX 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 Conventions for Function Prototypes.

Requisitos

Requisito Valor
cliente mínimo admitido Windows 2000 Professional [solo aplicaciones de escritorio]
servidor mínimo admitido Windows 2000 Server [solo aplicaciones de escritorio]
encabezado de winuser.h (incluya Windows.h)

Consulte también

conceptual de

GetClassInfoEx

de referencia de

RegisterClassEx

unregisterClass

clases de ventana de