winuser.h

Estructura MEASUREITEMSTRUCT

Definición

typedef struct tagMEASUREITEMSTRUCT {   // mis  
    UINT  CtlType;     // tipo de control
    UINT  CtlID;       // identificador de combo box, list box o botón
    UINT  itemID;      // identificador de ítem de menú, list box de altura variable o combo box
    UINT  itemWidth;   // anchura del ítem de menú, en pixels
    UINT  itemHeight;  // altura del ítem de list box, en pixels
    DWORD itemData;    // valor de 32 bits definido por la aplicación
} MEASUREITEMSTRUCT;

La estructura MEASUREITEMSTRUCT informa a Windows de las dimensiones de un control o ítem de menú owner-drawn. Esto permite a Windows procesar las interacciones del usuario con el control de forma adecuada.

Descripción

CtlType: especifica el tipo de control. Este miembro puede tener uno de los valores siguientes:

Valor Significado
ODT_BUTTON Botón owner-drawn
ODT_COMBOBOX Combo box owner-drawn
ODT_LISTBOX List box owner-drawn
ODT_LISTVIEW Control listview owner-draw
ODT_MENU Menú owner-drawn

CtlID: especifica el identificador del combo box, list box o botón. Este miembro no se usa para un menú.

itemID: especifica el identificador de un ítem de menú o la posición de un ítem de un list box o combo box. Este valor se especifica para un list box sólo si tiene el estilo LBS_OWNERDRAWVARIABLE; este valor se especifica para un combo box sólo si tiene el estilo CBS_OWNERDRAWVARIABLE.

itemWidth: especifica la anchura, en pixels, de un ítem de menú. Antes de regresar del mensaje, el propietario del ítem de menú owner-draw debe rellenar este miembro.

itemHeight: especifica la altura, en pixels, de un ítem individual de un list box o menú. Antes de regresar del mensaje, el propietario del combo box, list box o ítem de menú owner-draw debe rellenar este miembro.

itemData: especifica el valor de 32 bits definido por la aplicación asociado con el ítem de menú. Para un control, este miembro especifica el último valor asignado al list box o combo box por el mensaje LB_SETITEMDATA o CB_SETITEMDATA. Si el list box o combo box tiene el estilo LB_HASSTRINGS o CB_HASSTRINGS, este valor es inicialmente cero. En caso contrario, este valor es incialmente el valor pasado al list box o combo box en el parámetro lParam de uno de los siguientes mensajes:

  • CB_ADDSTRING
  • CB_INSERTSTRING
  • LB_ADDSTRING
  • LB_INSERTSTRING
  • Observaciones

    La ventana propietaria de un control owner-drawn recive un puntero a la estructura MEASUREITEMSTRUCT mediante el parámetro lParam de un mensaje WM_MEASUREITEM. El control owner-drawn envía este mensaje a su ventana padre cuendo el control es creado. La ventana propietaria rellena entonces los miembros de la estructura de la forma apropiada para el control, y regresa. Esta estructura es común para todos los controles owner-drawn.

    Si una aplicación no rellena los miembros apropiados de MEASUREITEMSTRUCT, el control o el ítem de menú puede no ser dibujado correctamente.