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

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

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

lpszMenuName

Tipo: LPCTSTR

Puntero a una cadena de caracteres terminada en null que especifica el nombre de 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 RegisterClassEx .

hIconSm

Tipo: HICON

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

Comentarios

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

Conceptual

GetClassInfoEx

Referencia

RegisterClassEx

Anular el registroClase

Clases de ventanas