Estructura HDITEM
Definición
typedef struct _HDITEM { UINT mask; int cxy; LPTSTR pszText; HBITMAP hbm; int cchTextMax; int fmt; LPARAM lParam; #if (_WIN32_IE >= 0x0300) int iImage; int iOrder; #endif #if (_WIN32_IE >= 0x0500) UINT type; void *pvFilter; #endif #if (_WIN32_WINNT >= 0x0600) UINT state; #endif } HDITEM, *LPHDITEM;
La estructura HD_ITEM contiene información sobre un ítem de un control de cabecera. Esta estructura sustituye a HD_ITEM.
Descripción
- mask
Máscara que indica cuales de los otros miembros de la estructura contienen datos válidos. Este miembro puede ser una combinación de los siguientes valores:
Valor Significado HDI_BITMAP El miembro hbm es válido. HDI_DI_SETITEM Versión 4.70. Mientras se manipula el mensaje HDM_GETITEM, el control de cabecera puede que no tenga todos los valores necesarios para completar la petición. En ese caso, el control debe obtener de la aplicación esos valores mediante la notificación HDN_GETDISPINFO. Si se ha pasado HDI_DI_SETITEM en el mensaje HDM_GETITEM, el control almacenará cualquier valor retornado desde HDN_GETDISPINFO (en caso contrario los valores permanecen sin asignar.) HDI_FORMAT El miembro fmt es válido. HDI_FILTER Versión 5.80. Los miembros type y pvFilter son válidos. Se usa para filtrar los valores especificados en el miembro type. HDI_HEIGHT El miembro cxy es válido y especifica la altura del ítem. HDI_IMAGE Versión 4.70. El miembro iImage es válido y especifica la imagen a mostrar con el ítem. HDI_LPARAM El miembro lParam es válido. HDI_ORDER Versión 4.70. El miembro iOrder es válido y especifica el valor de orden del ítem. HDI_STATE Versión 6.00 y Windows Vista. El miembro state es válido. HDI_TEXT Los miembros pszText y cchTextMax son válidos. HDI_WIDTH El miembro cxy es válido y especifica la anchura del ítem. - cxy
- Anchura o altura del ítem.
- pszText
- Un puntero a una cadena de item. Si el texto está siendo recuperado desde el control, este miembro debe ser inicializado para que apunte a un buffer de caracteres. Si se asigna el valor LPSTR_TEXTCALLBACK a este miembro, el control pedirá la información del texto para este item mediante el envío de un mensaje de notificación HDN_GETDISPINFO. Hay que tener en cuenta que aunque el control de cabecera permite una cadena de cualquier longitud sea almacenada como texto de un item, sólo se mostrarán los primeros 260 TCHARs.
- hbm
- Manipulador de mapa de bits del ítem.
- cchTextMax
- Longitud de la cadena del ítem, en TCHARs. Si el texto está siendo recuperado desde el control, este miembro debe contener el número de TCHARs en la dirección especificada por pszText.
- fmt
Un conjunto de banderas de bit que especifican el formato del ítem.
Este miembro puede incluir uno de las siguentes banderas de bit de justificación de texto o de lectura de derecha a izquierda:
Valor Significado HDF_CENTER Centra el contenido del ítem. HDF_LEFT Alinea a la izquierda el contenido del ítem. HDF_RIGHT Alinea a la derecha el contenido del ítem. HDF_RTLREADING Muestra el texto usando el orden de lectura de derecha a izquierda en sistemas hebreo o árabes. El valor anterior se combina con uno de los siguientes:
Valor Significado HDF_BITMAP El ítem muestra un mapa de bits. HDF_BITMAP_ON_RIGHT Versión 4.70. El mapa de bits aparece a la derecha del texto. HDF_OWNERDRAW La ventana propietaria del control de cabecera traza el ítem. HDF_STRING El ítem muestra una cadena. Combinaciones de banderas, los valores anteriores pueden ser combinados con:
Valor Significado HDF_IMAGE Versión 4.70. Muestra una imagen desde una lista de imágenes. La lista de imágenes se especifica enviando un mensaje HDM_SETIMAGELIST. El índice de la imagen se especifica en el miembro iImage de esta estructura. HDF_JUSTIFYMASK Aisla la porción de bits correspondientes con las tres banderas de justificación de texto listadas en la tabla anterior. HDF_RTLREADING Normalmente, windows muestra el texto de izquierda a derecha (LTR). Windows puede invertir ese orden para mostrar lenguajes como Hebreo o Árabe que se escriben de derecha a izquierda (RTL). Generalmente, el texto de cabeceras se lee en la misma dirección que el texto en su ventana padre. Si se asigna If HDF_RTLREADING, el texto de cabecera se lee en el orden opuesto al del texto en la ventana padre. HDF_SORTDOWN Versión 6.00. Dibuja una fecha hacia abajo en este ítem. Esto se suele usar para indicar que la información en la ventana actual está ordenada en esta columna en orden descendente. Esta bandera no puede ser combinada con HDF_IMAGE o HDF_BITMAP. HDF_SORTUP Version 6.00. Dibuja una fecha hacia arriba en este ítem. Esto se suele usar para indicar que la información en la ventana actual está ordenada en esta columna en orden ascendente. Esta bandera no puede ser combinada con HDF_IMAGE o HDF_BITMAP. HDF_CHECKBOX Windows Vista y Versión 6.00. El ítem muestra un checkbox. La bandera sólo es válida cuando primero se ha asignado el estilo HDS_CHECKBOXES en el control de cabecera. HDF_CHECKED Windows Vista y Versión 6.00. El ítem muestra un checkbox marcado. Esta bandera sólo es válida cuendo HDF_CHECKBOX también está asignado. HDF_FIXEDWIDTH Windows Vista y Versión 6.00. La anchura del ítem no puede ser modificada por una acción del usuario para redimiensionarla. HDF_SPLITBUTTON Windows Vista y Versión 6.00. El ítem muestra el botón de despliegue. La notificación HDN_DROPDOWN se envía cuando el botón de despliegue es pulsado. - lParam
- Dato de ítem definido por la aplicación.
- iImage
- Versión 4.70. El índice basado en cero de una imagen dentro de una lista de imágenes. La imagen especificada será mostrada en el ítem de cabecera junto con cualquier imagen especificada en el campo hbm. Si iImage es asignado a I_IMAGECALLBACK, el control requiere la información de texto para este ítem usando un código de notificación HDN_GETDISPINFO. Para eliminar la imagen asignar este valor a I_IMAGENONE.
- iOrder
- Versión 4.70. El orden en el que el ítem aparece dentro del control de cabecera, de izquierda a derecha. Esto es, el valor para el ítem más a la izquierda es 0. El valor para el siguiente es 1, y así sucesivamente.
- type
El tipo de filtro especificado por pvFilter. Los tipos posibles incluyen:
Valor Significado HDFT_ISSTRING Datos de cadena. HDFT_ISNUMBER Datos numéricos. HDFT_HASNOVALUE Ignorar pvFilter. HDFT_ISDATE Versión 6.00. Datos de fecha. El miembro pvFilter es un puntero a una estructura SYSTEMTIME. - pvFilter
- La dirección de un dato de ítem definido por la aplicación. El tipo de filtro de datos se determina asignando el valor de bandera a este miembro. Usar la bandera HDFT_ISSTRING para indicar una cadena y HDFT_ISNUMBER para indicar un entero. Cuando la bandera HDFT_ISSTRING se usa pvFilter es un puntero a una estructura HDTEXTFILTER.
- state
El estado. El único valor soportado para este miembro, el único válido, es:
Valor Significado HDIS_FOCUSED El ítem tiene el foco del teclado.
Observaciones
Nota: la versión 6 de Comctl32.dll no es redistribuible pero está incluida en Windows XP y posteriores. Para usar la versión 6 de Comctl32.dll, hay que especificarla en un manifiesto.