commctrl.h

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:

ValorSignificado
LVCF_FMTEl miembro fmt es válido.
LVCF_WIDTHEl miembro cx es válido.
LVCF_TEXTEl miembro pszText es válido.
LVCF_SUBITEMEl miembro iSubItemes válido.
LVCF_IMAGEVersión 4.70. El miembro iImage es válido.
LVCF_ORDERVersión 4.70. El miembro iOrder es válido.
LVCF_MINWIDTHVersión 6.00 y Windows Vista. El miembro cxMin es válido.
LVCF_DEFAULTWIDTHVersión 6.00 y Windows Vista. El miembro cxDefault es válido.
LVCF_IDEALWIDTHVersió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.

ValorSignificado
LVCFMT_LEFTEl texto se alinea a la izquierda.
LVCFMT_RIGHTEl texto se alinea a la derecha.
LVCFMT_CENTEREl texto se centra.
LVCFMT_JUSTIFYMASKUna 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_IMAGEVersión 4.70. El ítem muestra una imagen de una lista de imágenes.
LVCFMT_BITMAP_ON_RIGHTVersió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_IMAGESVersión 4.70. El ítem de cabecera contiene una imagen de una lista de imágenes.
LVCFMT_FIXED_WIDTHVersión 6.00 y Windows Vista. La columna no se redimiensionar: lo mismo que HDF_FIXEDWIDTH.
LVCFMT_NO_DPI_SCALEVersión 6.00 y Windows Vista. Si no está activo, CCM_DPISCALE gobernará el escalado de anchura fija.
LVCFMT_FIXED_RATIOVersión 6.00 y Windows Vista. La anchura aumentará con la altura de la fila.
LVCFMT_SPLITBUTTONVersió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.