Estructura LVCOLUMN
Definición
typedef struct tagLVCOLUMN { UINT mask; int fmt; int cx; LPSTR pszText; int cchTextMax; int iSubItem; int iImage; int iOrder; int cxMin; int cxDefault; int cxIdeal; } LVCOLUMN, *PLVCOLUMN;
Contiene información sobre una columna en una vista de reporte. Esta estructura se usa tanto para crear como para manipular columnas. Esta estructura sustituye a la versión ANSI de la estructura LV_COLUMN.
Descripción
- mask
Especifica qué miembros contienen información válida. Este miembro puede ser cero, o uno o más de los siguientes valores:
Valor Significado LVCF_FMT El miembro fmt es válido. LVCF_WIDTH El miembro cx es válido. LVCF_TEXT El miembro pszText es válido. LVCF_SUBITEM El miembro iSubItemes válido. LVCF_IMAGE Versión 4.70. El miembro iImage es válido. LVCF_ORDER Versión 4.70. El miembro iOrder es válido. LVCF_MINWIDTH Versión 6.00 y Windows Vista. El miembro cxMin es válido. LVCF_DEFAULTWIDTH Versión 6.00 y Windows Vista. El miembro cxDefault es válido. LVCF_IDEALWIDTH Versión 6.00 y Windows Vista. El miembro cxIdeal es válido. - fmt
Alineamiento del texto de la cabecera de columna y del subítem en la columna. El alineamiento de la columna más a la izquierda siempre es LVCFMT_LEFT; no puede ser modificado. Este miembro puede ser una combinación de los siguientes valores. Hay que tener en cuenta que no todas las combinaciones son válidas.
Valor Significado LVCFMT_LEFT El texto se alinea a la izquierda. LVCFMT_RIGHT El texto se alinea a la derecha. LVCFMT_CENTER El texto se centra. LVCFMT_JUSTIFYMASK Una máscara de bits usada para seleccionar aquellos bits de fmt que controlan la justificación del campo. Para verificar el formato de una columna, se usa el "Y" lógico para combinar LCFMT_JUSTIFYMASK con fmt. Se puede usar entonces una sentencia switch para determinar si los bits LVCFMT_LEFT, LVCFMT_RIGHT o LVCFMT_CENTER están activados. LVCFMT_IMAGE Versión 4.70. El ítem muestra una imagen de una lista de imágenes. LVCFMT_BITMAP_ON_RIGHT Versión 4.70. El mapa de bits aparece a la derecha del texto. Esto no afecta a una imagen de una lista de imágenes asignada al ítem de cabecera. LVCFMT_COL_HAS_IMAGES Versión 4.70. El ítem de cabecera contiene una imagen de una lista de imágenes. LVCFMT_FIXED_WIDTH Versión 6.00 y Windows Vista. La columna no se redimiensionar: lo mismo que HDF_FIXEDWIDTH. LVCFMT_NO_DPI_SCALE Versión 6.00 y Windows Vista. Si no está activo, CCM_DPISCALE gobernará el escalado de anchura fija. LVCFMT_FIXED_RATIO Versión 6.00 y Windows Vista. La anchura aumentará con la altura de la fila. LVCFMT_SPLITBUTTON Versión 6.00 y Windows Vista. La columna es un botón de división (igual que HDF_SPLITBUTTON). La cabecera de la columna muestra un botón de división (igual que HDF_SPLITBUTTON). - cx
- Anchura de la columna en pixelss.
- pszText
- Si la información de columna está siendo asignada, este miembro es la dirección de una cadena terminada en cero que contiene el texto de cabecera de columna. Si la estructura está recibiendo información sobre una columna, este miembro especifica la dirección del buffer que recibe el texto de la cabecera de columna.
- cchTextMax
- Tamaño en TCHARs del buffer apuntado por el miembro pszText. Si la estructura no está recibiendo información sobre una columna, este miembro es ignorado.
- iSubItem
- Índice del subítem asociado con la columna.
- iImage
- Versión 4.70. Índice basado en cero de una imagen dentro de una lista de imágenes. La imagen especificada aparecerá dentro de la columna.
- iOrder
- Versión 4.70. Desplazamiento basado en cero de la columna. El desplazamiento de columna es el orden de izquierda a derecha. Por ejemplo, cero indica la de más a la izquierda.
- cxMin
- Windows Vista. Anchura mínima de la columna en pixels.
- cxDefault
- Windows Vista. Valor definido por la aplicación usado normalmente para almacenar la anchura por defecto de la columna. Este miembro es ignorado por el control list-view.
- cxIdeal
- Windows Vista. Solo lectura. La anchura ideal de la columna en pixels ya que la columna puede estar actualmente auto dimensionada con una anchura menor.
Observaciones
Si una columna es añadida a un control list-view control con el índice 0 (la primera por la izquierda), siempre será LVCFMT_LEFT. Asignar otras banderas a la columna 0 no evita ese alineamiento. Por lo tanto, si se siguen añadiendo columnas con el índice 0, el texto de todas las columnas estará alienado a la izquierda. Si se quiere que la primera columna esté alineada a la derecha o centrada se puede añadir una columna ficticia, y después insertar una o más columnas con índices 1 o mayor y especificar el alineamiento requerido. Finalmente borrar la columna ficticia.
Nota: El fichero de cabecera commctrl.h define LVCOLUMN como un alias que selecciona automáticamente la versión ANSI o UNICODE de esta estructura basándose en la definición de la constante del preprocesador UNICODE. Mezclar el uso de alias de codificación neutral con código que no use esa codificación puede producir desajustes que resulten en errores de compilación o de ejecución.