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