MSHFlexGrid (Control)

El control MSHFlexGrid (Microsoft Hierarchical FlexGrid) muestra datos de tablas y efectúa operaciones en ellos. Proporciona una completa flexibilidad para ordenar, fusionar y dar formato a tablas que contienen cadenas e imágenes. Cuando está enlazado a un control de datos, MSHFlexGrid muestra únicamente datos de sólo lectura.

Sintaxis

MSHFlexGrid

Comentarios

Puede introducir texto, un gráfico o ambos en cualquier celda de un control MSHFlexGrid. Las propiedades Row y Col especifican la celda actual del control MSHFlexGrid. Puede especificar la celda actual utilizando código o el usuario puede cambiarla en tiempo de ejecución con el mouse (ratón) o con las teclas de dirección. La propiedad Text hace referencia al contenido de la celda actual.

Si el texto de una celda es demasiado grande para mostrarse en la celda y la propiedad WordWrap está establecida a True, el texto se ajusta a la siguiente línea de la misma celda. Para mostrar todo el texto, puede que necesite aumentar el ancho de la columna (propiedad ColWidth) o el alto de la fila (propiedad RowHeight).

Utilice las propiedades Cols y Rows para determinar el número de columnas y filas del control MSHFlexGrid. Utilice las propiedades Band para determinar el estilo de la banda en un control MSHFlexGrid.

Mostrar un conjunto de registros jerárquico

La principal característica de un control MSHFlexGrid es la posibilidad de mostrar conjuntos de registros jerárquicos (las tablas relacionadas se muestran de forma jerárquica). La forma más sencilla de crear conjuntos de registros jerárquicos es usar el diseñador de entorno de datos y asignar la propiedad DataSource del control MSHFlexGrid al entorno de datos. Puede también crear conjuntos de registros jerárquicos en el código utilizando el comando Shape como el objeto RecordSource para un control ADO Data, como se muestra en el ejemplo siguiente:

' Crea un cadena de conexión.
Dim strCn As String
strCn = "Provider=MSDataShape.1;Data Source=Nwind;" & _
"Connect Timeout=15;Data Provider=MSDASQL"

' Crea un comando Shape.
Dim strSh As String
strSh = "SHAPE {SELECT * FROM 'Clientes'}  AS Clientes" & _
"APPEND ({SELECT * FROM 'Pedidos'}  AS Pedidos RELATE " & _
"IdCliente TO IdCliente ) AS Pedidos"

' Asignar la cadena de conexión ConnectionString a un
' control ADO Data y el comando Shape a la propiedad
' RecordSource del control.
With Adodc1
   .ConnectionString = strCn
   .RecordSource = strSh
End With
' Establece la propiedad DataSource del control HflexGrid al
' control ADO Data
Set HFlexGrid1.DataSource = Adodc1

Para obtener más información Para aprender más detalles acerca de los conjuntos de registros jerárquicos, vea Cursores jerárquicos y modelado de datos. Se puede encontrar también una descripción de los comandos Shape en Comandos de modelado en general.

Nota para la distribución Antes de poder usar el control MSHFlexGrid en la aplicación, debe agregar el archivo MSHFlxGd.ocx al proyecto. Para incluir el archivo en el proyecto automáticamente, colóquelo en el archivo Autoload. Cuando distribuya la aplicación, debe instalar el archivo MSHFlxGd.ocx en el directorio System de Microsoft Windows del usuario. Para obtener más información acerca de cómo puede agregar un control ActiveX a un proyecto, vea "Controles ActiveX estándar" en el Manual del programador de Visual Basic.


MSFlexGrid (Control)

El control Microsoft FlexGrid (MSFlexGrid) muestra datos de tablas y efectúa operaciones en ellos. Proporciona una flexibilidad completa para ordenar, combinar y aplicar formato a tablas que contienen cadenas e imágenes. Cuando se enlaza a un control Data, el control MSFlexGrid muestra datos de sólo lectura.

Sintaxis

MSFlexGrid

Comentarios

Es posible colocar texto, una imagen o ambas cosas en cualquier celda de un control MSFlexGrid. Las propiedades Row y Col especifican la celda actual de un control MSFlexGrid. Puede especificar la celda actual mediante código o bien el usuario puede cambiar la misma en tiempo de ejecución mediante el mouse o las flechas del cursor. La propiedad Text hace referencia al contenido de la celda actual.

Si el texto de una celda es demasiado largo para que se pueda mostrar en la celda y la propiedad WordWrap está establecida a True, el texto se ajusta a la línea siguiente dentro de la misma celda. Para mostrar el texto ajustado, es posible que sea necesario aumentar el ancho de columna de la celda (propiedad ColWidth) o el alto de la fila (propiedad RowHeight).

Utilice las propiedades Col y Row para determinar el número de columnas y filas de un control MSFlexGrid.

Nota Antes de poder usar un control MSFlexGrid en la aplicación, es necesario agregar el archivo MSFlxGrd.ocx al proyecto. Para incluir automáticamente el archivo en un proyecto, colóquelo en el archivo Autoload. Al distribuir la aplicación, conviene instalar el archivo MSFlxGrd.ocx en el directorio System de Microsoft Windows del usuario. Para obtener más información acerca de cómo agregar un control ActiveX a un proyecto, vea "Controles ActiveX estándar" en el Manual del programador de Visual Basic.


No se encuentra el tema

No se halló el tema correspondiente. A continuación enumeramos algunas posibles razones y sus soluciones:

  • El archivo (.chm) que contiene el tema de destino no se encuentra en la ubicación esperada.

    Solución: vuelva a ejecutar la instalación de la Biblioteca MSDN.

  • El archivo (.chm) que contiene el tema actual o el de destino no está actualizado y el vínculo ya no es válido.

    Solución: instale la última versión de la Biblioteca MSDN.

  • El CD de la Biblioteca MSDN no está en la unidad de CD-ROM.

    Solución: inserte el CD en la unidad.


Constantes de error de MSHFlexGrid

Constante | Valor | Descripción
flexerrBadBandColIndex | 30020 | El índice de columna de la banda no es válido.
flexerrBadBandNumber | 30019 | El número de banda especificado no es válido.
flexerrBadValue | 380 | El valor especificado de la propiedad no es válido.
flexerrClipInvalidFormat | 461 | El formato especificado no coincide con el formato de los datos.
flexerrDataNotSetForFormat | 676 | Los datos solicitados no se han proporcionado al objeto DataObject durante el evento OLESetData.
flexerrDataObjectLocked | 672 | La lista de formatos de DataObject no se puede borrar o expandir fuera del evento OLEStartDrag.
flexerrExpectedAnArgument | 673 | Se esperaba al menos un argumento.
flexerrFORMATSTRING | 30018 | Especifique la cadena de la fila o la columna a que se debe dar formato.
flexerrGetNotSupported | 394 | La propiedad especificada no está disponible.
flexerrHROWsNotReleased | 30023 | No se puede tener acceso a los datos. Los valores de la propiedad DataSource pueden ser incorrectos o las funciones del objeto DataSource pueden estar limitadas.
flexerrIllegalFunctionCall | 5 | La llamada al procedimiento especificado no es válida.
flexerrNotAvailableWithBandedData | 30021 | El comando especificado no está disponible cuando se enlaza con datos jerárquicos.
flexerrObjIllegalUse | 425 | El uso del objeto no es válido.
flexerrOutOfMemory | 7 | El sistema se ejecuta con memoria insuficiente. Cierre las aplicaciones adicionales para liberar memoria para la aplicación Visual Basic.
flexerrRecursiveOLEDrag | 674 | Llamada recursiva no válida de arrastrar y colocar OLE.
flexerrSetNotPermitted | 387 | El valor especificado no está permitido.
flexerrSubscript | 381 | El subíndice especificado está fuera del intervalo permitido.
flexerrUnknownBinding | 30022 | Hierarchical FlexGrid no admite el tipo de enlace a datos solicitado.
flexerrUnknownError | 600 | Error al realizar la operación.
flexerrUserFormatNotBinArray | 675 | Los formatos de arrastrar y colocar OLE no intrínsecos utilizados con la propiedad SetData requieren datos de matriz de Byte. La propiedad GetData puede devolver un número de bytes mayor que el proporcionado a SetData.
flexerrVB30000 | 30000 | No se puede usar RemoveItem en una fila fija.
flexerrVB30001 | 30002 | No se puede usar AddItem en una fila fija.
flexerrVB30002 | 30004 | El control Hierarchical FlexGrid no contiene la fila especificada.
flexerrVB30004 | 30005 | El número de columna especificado para alinear no es válido.
flexerrVB30005 | 30005 | El valor de alineación especificado no es válido.
flexerrVB30006 | 30006 | No se puede asignar memoria para Hierarchical FlexGrid.
flexerrVB30008 | 30008 | El tipo de imagen especificado no es válido.
flexerrVB30009 | 30009 | El valor de fila especificado no es válido.
flexerrVB30010 | 30010 | El valor de columna especificado no es válido.
flexerrVB30011 | 30011 | No se puede registrar el administrador de memoria.
flexerrVB30013 | 30013 | El valor de alto de fila especificado no es válido.
flexerrVB30014 | 30014 | El valor de ancho de columna especificado no es válido.
flexerrVB30015 | 30015 | No se puede quitar la última fila no fija.
flexerrVB30016 | 30016 | El valor especificado de FixedRows debe ser como mínimo uno menos que el valor de Rows.
flexerrVB30017 | 30017 | El valor especificado de FixedCols debe ser como mínimo uno menos que el valor de Cols.


Collapse (Evento, control MSHFlexGrid)

Ocurre cuando el usuario contrae una fila de la cuadrícula. Las propiedades Col y Row del control MSHFlexGrid contienen la celda que se utiliza para contraer la banda.

Sintaxis

Private Sub objeto_ Collapse(Booleano)

La sintaxis del evento Collapse consta de las siguientes partes:

Parte | Descripción
objeto | Una expresión de objeto que da como resultado un objeto de la lista Se aplica a.
Booleano | Una expresión booleana. Si establece Collapse en True, se cancela la operación de contraer.


Compare (Evento)

Ocurre cuando la propiedad Sort del control MSHFlexGrid está establecida en Custom Sort (9) para permitir que el usuario personalice el proceso de orden.

Sintaxis

Private Sub objeto_Compare(fila1, fila2, cmp)

La sintaxis del evento Compare consta de las siguientes partes:

Parte | Descripción
objeto | Una expresión de objeto que da como resultado un objeto de la lista Se aplica a.
fila1 | Un entero de tipo Long que especifica la primera fila de una pareja de filas que deben compararse.
fila2 | Un entero de tipo Long que especifica la segunda fila de una pareja de filas que deben compararse.
cmp | Un entero que representa el orden de cada pareja, como se describe en Valores.

Valores

El controlador de evento debe comparar fila1 y fila2 y establecer cmp en los valores siguientes:

Valor | Descripción
–1 | Si fila1 debe aparecer antes de fila2.
0 | Si ambas filas son iguales o cualquiera de las dos puede aparecer antes de la otra.
1 | Si fila1 debe aparecer después de fila2.

Comentarios

Cuando la propiedad Sort está establecida en 9 (Custom Sort), el evento Compare ocurre una vez por cada pareja de filas incluidas en el control MSHFlexGrid. Debido a que el evento Compare utiliza números de filas en vez de valores de texto, puede comparar cualquier valor de propiedad de esa fila, incluido el valor de RowData.

Nota Aunque las ordenaciones personalizadas son más lentas que las integradas, ofrecen flexibilidad al permitir ordenar una fila mediante cualquier columna o cualquier propiedad de celda.


EnterCell (Evento)

Ocurre cuando la celda activa actual cambia a una celda diferente.

Sintaxis

Private Sub objeto_EnterCell()

El marcador de posición objeto representa una expresión de objeto que da como resultado un objeto de la lista Se aplica a.

Comentarios

Al hacer clic en una fila fija, se produce este evento en la primera columna no fija de dicha fila. Este evento no ocurre si se arrastra el mouse (ratón) sobre una celda.


Expand (Evento, control MSHFlexGrid)

Ocurre cuando el usuario expande una fila del control MSHFlexGrid. Las propiedades Col y Row del control MSHFlexGrid contienen la celda que se utiliza para expandir la banda.

Sintaxis

Private Sub objeto_Expand(Booleano)

La sintaxis del evento Expand consta de las siguientes partes:

Parte | Descripción
objeto | Una expresión de objeto que da como resultado un objeto de la lista Se aplica a.
Booleano | Una expresión booleana. Si el programador establece Boolean en True, se cancela la operación de expandir.


Ejemplo de las propiedades FixedCols, FixedRows (Control MSHFlexGrid)

El código siguiente establece la primera fila, y la primera y segunda columnas como fijas.

Nota Si utiliza el control MSFlexGrid, sustituya "MSHFlexGrid1" por "MSFlexGrid1".

Sub Form1_Load ()
   MSHFlexGrid1.FixedCols = 2
   MSHFlexGrid1.FixedRows = 1
End Sub


Ejemplo de la propiedad FocusRect

El código siguiente establece un rectángulo de enfoque suave para la celda activa mediante el valor de la constante.

Nota Si utiliza el control MSFlexGrid, sustituya "MSHFlexGrid1" por "MSFlexGrid1".

Sub Form1_Load ()
   MSHFlexGrid1.FocusRect = flexFocusLight
End Sub


LeaveCell (Evento)

Ocurre inmediatamente antes de que la celda activa actual cambie a una celda diferente.

Sintaxis

Private Sub objeto_LeaveCell()

El marcador de posición objeto representa una expresión de objeto que da como resultado un objeto de la lista Se aplica a.

Comentarios

Este evento sirve para validar los contenidos de una celda.

El evento no se desencadena cuando el enfoque se mueve a un control diferente.


RowColChange (Evento, control MSHFlexGrid)

Ocurre cuando la celda activa actual cambia a una celda diferente.

Sintaxis

Private Sub objeto_RowColChange()

El marcador de posición objeto representa una expresión de objeto que da como resultado un objeto de la lista Se aplica a.

Comentarios

El siguiente orden de eventos ocurre cuando la celda activa cambia: primero LeaveCell, a continuación EnterCell y por último RowColChange. El evento RowColChange ocurre cuando el usuario hace clic en una nueva celda. Esto no ocurre mientras un usuario arrastra una selección a través del control MSHFlexGrid.


Scroll (Evento, control MSHFlexGrid)

Ocurre cuando se desplaza el contenido del control MSHFlexGrid. Esto puede hacerse mediante las barras de desplazamiento, el teclado o por programa al cambiar los valores de las propiedades TopRow o LeftCol.

Sintaxis

Private Sub objeto_Scroll()

El marcador de posición objeto representa una expresión de objeto que da como resultado un objeto de la lista Se aplica a.

Comentarios

Si la propiedad ScrollTrack es True, el evento se produce mientras el usuario esté arrastrando o desplazando con el mouse (ratón). Si la propiedad ScrollTrack es False, el evento se produce cuando termina la operación de arrastrar.


SelChange (Evento, control MSHFlexGrid)

Ocurre cuando el intervalo seleccionado cambia a una celda o a un intervalo de celdas diferente.

Sintaxis

Private Sub objeto_SelChange()

El marcador de posición objeto representa una expresión de objeto que da como resultado un objeto de la lista Se aplica a.

Comentarios

El evento SelChange ocurre cuando el usuario hace clic en otra celda, arrastra el mouse (ratón) para seleccionar un nuevo intervalo de celdas o selecciona un intervalo de celdas al mantener presionada la tecla MAYÚS mientras utiliza las teclas de dirección. Este evento no se produce si un usuario arrastra la selección a través del control MSHFlexGrid.

Este evento puede ocurrir por programa si cambia la región seleccionada mediante las propiedades Row, Col,RowSel o ColSel.


Constantes del control MSHFlexGrid

Esta sección contiene información acerca de las constantes del control MSHFlexGrid. Observe que estas constantes se aplican también al control MSFlexGrid, a menos que se indique lo contrario.

Propiedad AddModeSettings (MSHFlexGrid)

Constante | Valor | Descripción
flexNoAddNew | 0 | La celda actual no está en la última fila y no hay ninguna operación AddNew pendiente.
flexAddNewCurrent | 1 | La celda actual está en la última fila y no hay ninguna operación AddNew pendiente.
flexAddNewPending | 2 | La celda actual es la siguiente a la última fila. La causa puede ser una operación AddNew pendiente iniciada por el usuario a través de la interfaz del control MSHFlexGrid o al establecer por programa la propiedad Values o Text de una columna.

Propiedad AllowUserResizing

Constante | Valor | Descripción
flexResizeNone | 0 | El usuario no puede modificar el tamaño con el mouse (ratón). Es el valor predeterminado.
flexResizeColumns | 1 | El usuario puede modificar el tamaño de las columnas con el mouse.
flexResizeRows | 2 | El usuario puede modificar el tamaño de las filas con el mouse.
flexResizeBoth | 3 | El usuario puede modificar el tamaño de las columnas y de las filas con el mouse.

Propiedad Appearance

Constante | Valor | Descripción
flexFlat | 0 | La apariencia general del control MSHFlexGrid es plana o normal.
flex3D | 1 | La apariencia general del control MSHFlexGrid es tridimensional.

Propiedad BorderStyle

Constante | Valor | Descripción
flexBorderNone | 0 | No hay borde.
flexBorderSingle | 1 | Hay un borde simple.

Propiedad CellAlignment

Constante | Valor | Descripción
flexAlignLeftTop | 0 | El contenido de la celda se alinea a la izquierda, arriba.
flexAlignLeftCenter | 1 | El contenido de la celda se alinea a la izquierda, en el centro. Es el valor predeterminado para cadenas.
flexAlignLeftBottom | 2 | El contenido de la celda se alinea a la izquierda, abajo.
flexAlignCenterTop | 3 | El contenido de la celda se alinea al centro, arriba.
flexAlignCenterCenter | 4 | El contenido de la celda se alinea al centro, en el centro.
flexAlignCenterBottom | 5 | El contenido de la celda se alinea al centro, abajo.
flexAlignRightTop | 6 | El contenido de la celda se alinea a la derecha, arriba.
flexAlignRightCenter | 7 | El contenido de la celda se alinea a la derecha, en el centro. Es el valor predeterminado para números.
flexAlignRightBottom | 8 | El contenido de la celda se alinea a la derecha, abajo.
flexAlignGeneral | 9 | El contenido de la celda tiene la alineación general, que es "izquierda, en el centro" para cadenas y "derecha, en el centro" para números.

Propiedad CellPictureAlignment

Constante | Valor | Descripción
flexAlignLeftTop | 0 | La imagen se alinea a la izquierda, arriba.
flexAlignLeftCenter | 1 | La imagen se alinea a la izquierda, en el centro.
flexAlignLeftBottom | 2 | La imagen se alinea a la izquierda, abajo.
flexAlignCenterTop | 3 | La imagen se alinea al centro, arriba.
flexAlignCenterCenter | 4 | La imagen se alinea al centro, en el centro.
flexAlignCenterBottom | 5 | La imagen se alinea al centro, abajo.
flexAlignRightTop | 6 | La imagen se alinea a la derecha, arriba.
flexAlignRightCenter | 7 | La imagen se alinea a la derecha, en el centro.
flexAlignRightBottom | 8 | La imagen se alinea a la derecha, abajo.

Propiedades CellTextStyle, TextStyle, TextStyleFixed

Constante | Valor | Descripción
flexTextFlat | 0 | Texto plano normal.
flexTextRaised | 1 | El texto aparece en relieve.
flexTextInset | 2 | El texto aparece incrustado.
flexTextRaisedLight | 3 | El texto aparece ligeramente en relieve.
flexTextInsetLight | 4 | El texto aparece ligeramente incrustado.

Propiedad CellType (MSHFlexGrid)

Constante | Valor | Descripción
flexCellTypeStandard | 0 | La celda es estándar.
flexCellTypeFixed | 1 | La celda está incluida en una fila o columna fija.
flexCellTypeHeader | 2 | La celda es un encabezado para una banda de datos.
flexCellTypeIndent | 3 | La celda aparece en una columna que aplica una sangría a una banda de datos.
flexCellTypeUnpopulated | 4 | La celda no se llena.

Propiedad ColAlignment

Constante | Valor | Descripción
flexAlignLeftTop | 0 | El contenido de la columna se alinea a la izquierda, arriba.
flexAlignLeftCenter | 1 | El contenido de la columna se alinea a la izquierda, en el centro. Es el valor predeterminado para cadenas.
flexAlignLeftBottom | 2 | El contenido de la columna se alinea a la izquierda, abajo.
flexAlignCenterTop | 3 | El contenido de la columna se alinea al centro, arriba.
flexAlignCenterCenter | 4 | El contenido de la columna se alinea al centro, en el centro.
flexAlignCenterBottom | 5 | El contenido de la columna se alinea al centro, abajo.
flexAlignRightTop | 6 | El contenido de la columna se alinea a la derecha, arriba.
flexAlignRightCenter | 7 | El contenido de la columna se alinea a la derecha, en el centro. Es el valor predeterminado para números.
flexAlignRightBottom | 8 | El contenido de la columna se alinea a la derecha, abajo.
flexAlignGeneral | 9 | El contenido de la columna celda tiene la alineación general, que es a la izquierda, en el centro para cadenas y a la derecha, en el centro para números.

Propiedad ColHeader (MSHFlexGrid)

Constante | Valor | Descripción
flexColHeaderOn | 0 | Se muestran los encabezados de cada banda.
flexColHeaderOff | 1 | No se muestran los encabezados de la banda.
flexColHeaderOnce | 2 | Se muestran los encabezados de la banda. Si la banda se contrae, sólo se muestra un encabezado. Los encabezados duplicados no se muestran.

Propiedad DisplayBandSettings (MSHFlexGrid)

Constante | Valor | Descripción
flexBandDisplayHorizontal | 0 | Las bandas del control MSHFlexGrid se muestran horizontalmente (a lo largo). Es el valor predeterminado.
flexBandDisplayVertical | 1 | Las bandas del control MSHFlexGrid se muestran verticalmente (de arriba a abajo).

Propiedad DisplayCellSettings (MSHFlexGrid)

Constante | Valor | Descripción
FlexCellDisplayHorizontal | 0 | Las bandas del control MSHFlexGrid se muestran horizontalmente (a lo largo).
flexCellDisplayVertical | 1 | Las bandas del control MSHFlexGrid se muestran verticalmente (de arriba a abajo).

Propiedad FillStyle

Constante | Valor | Descripción
flexFillSingle | 0 | Único. El cambio de la propiedad Text o de cualquiera de las propiedades de la celda sólo afecta a la celda activa. Es el valor predeterminado.
flexFillRepeat | 1 | Repetir. Cambiar la propiedad Text o cualquiera de las propiedades de la celda afecta a todas las celdas seleccionadas.

Propiedad FocusRect

Constante | Valor | Descripción
flexFocusNone | 0 | No hay rectángulo de enfoque alrededor de la celda actual.
flexFocusLight | 1 | Hay un rectángulo de rectángulo de enfoque suave alrededor de la celda actual. Es el valor predeterminado.
flexFocusHeavy | 2 | Hay un rectángulo de rectángulo de enfoque muy marcado alrededor de la celda actual.

Propiedades GridLines, GridLinesFixed

Constante | Valor | Descripción
flexGridNone | 0 | Sin líneas. No se dibujan líneas entre las celdas. En el control MSFlexGrid, éste es el valor predeterminado para GridLines.
flexGridFlat | 1 | Líneas. El estilo de línea entre las celdas está establecido en líneas planas normales. En el control MSHFlexGrid, éste es el valor predeterminado de la propiedad GridLines.
flexGridInset | 2 | Líneas incrustadas. Establece el estilo de línea entre las celdas con líneas incrustadas. En el control MSFlexGrid, éste es el valor predeterminado para GridLinesFixed.
flexGridRaised | 3 | Líneas en relieve. Establece el estilo de línea entre las celdas con líneas en relieve. En el control MSHFlexGrid, éste es el valor predeterminado para GridLinesFixed.

Propiedad HighLight

Constante | Valor | Descripción
flexHighlightNever | 0 | No resalta nunca las celdas seleccionadas.
flexHighlightAlways | 1 | Resalta siempre las celdas seleccionadas. Es el valor predeterminado.
flexHighlightWithFocus | 2 | Resalta las celdas seleccionadas cuando el control tiene el enfoque.

Propiedad MergeCells

Constante | Valor | Descripción
flexMergeNever | 0 | Nunca. Las celdas con el mismo contenido no se agrupan. Es el valor predeterminado.
flexMergeFree | 1 | Libre. Las celdas con el mismo contenido siempre se agrupan.
flexMergeRestrictRows | 2 | Restringir filas. Sólo se combinan las celdas adyacentes (hacia la izquierda) de la fila que tengan contenido idéntico.
flexMergeRestrict-Columns | 3 | Restringir columnas. Sólo se combinan las celdas adyacentes (hacia arriba) de la columna que tengan contenido idéntico.
flexMergeRestrictBoth | 4 | Restringir ambas. Sólo se combinan las celdas adyacentes de la fila (a la izquierda) o de la columna (hacia arriba) que tengan contenido idéntico.

Propiedad MousePointer

Constante | Valor | Descripción
flexDefault | 0 | El contorno del control MSHFlexGrid.
flexArrow | 1 | Un puntero de flecha.
flexCross | 2 | Un conjunto de cruces.
flexIBeam | 3 | Un cursor en forma de "I" que permite escribir texto.
flexIcon | 4 | Un cuadrado dentro de otro.
flexSize | 5 | Un puntero de cambio de tamaño con flechas arriba, abajo, izquierda y derecha.
flexSizeNESW | 6 | Un puntero de cambio de tamaño con flechas que apuntan arriba a la derecha y abajo a la izquierda.
flexSizeNS | 7 | Un puntero de cambio de tamaño con flechas que apuntan arriba y abajo.
flexSizeNWSE | 8 | Un puntero de cambio de tamaño con flechas que apuntan arriba a la izquierda y abajo a la derecha.
flexSizeEW | 9 | Un puntero de cambio de tamaño con flechas izquierda y derecha.
flexUpArrow | 10 | Una flecha hacia arriba.
flexHourGlass | 11 | Un reloj de arena.
flexNoDrop | 12 | Un puntero de no colocar.
flexCustom | 13 | Un puntero con estilo personalizado.

Propiedad PictureType

Constante | Valor | Descripción
flexPictureColor | 0 | Produce una imagen a todo color de alta calidad.
flexPictureMonochrome | 1 | Produce una imagen monocroma de calidad inferior que consume menos memoria.

Propiedad RowSizingSettings (MSHFlexGrid)

Constante | Valor | Descripción
flexRowSizeIndividual | 0 | Al cambiar el tamaño de una fila, sólo cambia el alto de dicha fila. Es el valor predeterminado.
flexRowSizeAll | 1 | Al cambiar el tamaño de una fila, cambia el alto de todas las filas del control MSHFlexGrid.

Propiedad SelectionMode

Constante | Valor | Descripción
flexSelectionFree | 0 | Libre. Esto permite seleccionar celdas individuales en el control MSHFlexGrid, al estilo de una hoja de cálculo. (Predeterminado)
flexSelectionByRow | 1 | Por fila. Fuerza la selección a extenderse a filas completas como en un cuadro de lista de columnas múltiples o en una presentación basada en registros.
flexSelectionByColumn | 2 | Por columna. Fuerza la selección a extenderse a columnas completas como ocurre al seleccionar intervalos en un gráfico o en campos antes de ordenarlos.

Propiedad ScrollBars

Constante | Valor | Descripción
flexScrollNone | 0 | El control MSHFlexGrid no tiene barras de desplazamiento.
flexScrollHorizontal | 1 | El control MSHFlexGrid tiene una barra de desplazamiento horizontal.
flexScrollVertical | 2 | El control MSHFlexGrid tiene una barra de desplazamiento vertical.
flexScrollBoth | 3 | El control MSHFlexGrid tiene barras de desplazamiento horizontal y vertical. Es el valor predeterminado.

Propiedad Sort

Constante | Valor | Descripción
flexSortNone | 0 | Ninguna. No efectúa la ordenación.
flexSortGenericAscending | 1 | Genérica ascendente. Realiza una ordenación ascendente basada en la estimación de si el texto es una cadena o un número.
flexSortGenericDescending | 2 | Genérica descendente. Realiza una ordenación descendente basada en la estimación de si el texto es una cadena o un número.
flexSortNumericAscending | 3 | Numérica ascendente. Realiza una ordenación ascendente que convierte las cadenas a números.
flexSortNumericDescending | 4 | Numérica descendente. Realiza una ordenación descendente que convierte las cadenas a números.
FlexSortStringNoCaseAsending | 5 | Cadena ascendente. Realiza una ordenación ascendente sin distinguir mayúsculas y minúsculas en la comparación de cadenas.
flexSortNoCaseDescending | 6 | Cadena descendente. Realiza una ordenación descendente sin distinguir mayúsculas y minúsculas en la comparación de cadenas.
flexSortStringAscending | 7 | Cadena ascendente. Realiza una ordenación ascendente distinguiendo mayúsculas y minúsculas en la comparación de cadenas.
flexSortStringDescending | 8 | Cadena descendente. Realiza una ordenación descendente distinguiendo mayúsculas y minúsculas en la comparación de cadenas.
flexSortCustom | 9 | Personalizada. Utiliza el evento Compare para comparar filas.


AddItem (Método, MSHFlexGrid)

Agrega una fila a un control MSHFlexGrid. Esta propiedad no acepta argumentos con nombre.

Sintaxis

objeto.AddItem (string, index, number)

La sintaxis del método AddItem consta de las siguientes partes:

Parte | Descripción
objeto | Expresión de objeto que da como resultado un objeto de la lista Se aplica a.
string | Requerido. Expresión de cadena que se muestra en la fila recién agregada. Para agregar múltiples cadenas en las diferentes columnas de la fila, utilice el carácter de tabulación (vbTab) para separar cada cadena.
index | Opcional. Valor de tipo Long que indica la ubicación del control. Esta posición es donde se ha colocado la fila. Para la primera fila, index=0. Si se omite index, la nueva fila será la última fila en la banda. Tenga en cuenta que index es BandColIndex en el control MSHFlexGrid.
number | Opcional. Valor de tipo Long que indica el número de banda en la que se agrega la fila.

Comentarios

El parámetro BandNumber es opcional si el control MSHFlexGrid no contiene ninguna banda (si está enlazado a un objeto Recordset no jerárquico). En caso de especificarlo, debe ser igual a 0. El parámetro BandNumber es necesario si la propiedad BandDisplay se establece a horizontal y el control MSHFlexGrid está enlazado a un objeto Recordset jerárquico. Si la propiedad BandDisplay está establecida a vertical, el parámetro BandNumber sólo es necesario si la banda es ambigua. El parámetro index es siempre opcional.


Ejemplo de los métodos AddItem y RemoveItem, control MSHFlexGrid

En este ejemplo se utiliza el método AddItem para agregar 100 elementos a un control MSHFlexGrid. Para probar este ejemplo, pegue el código a la sección Declaraciones de un formulario con un control MSHFlexGrid llamado MSHFlexGrid1, presione F5 y haga clic en el formulario.

Nota Si está utilizando el control MSFlexGrid, sustituya "MSHFlexGrid1" con "MSFlexGrid1."

Private Sub Form_Click ()
   Dim Entry, i, Msg               ' Declara variables.
   Msg = "Haga clic en Aceptar para agregar 100 elementos al control MSHFlexGrid."
   MsgBox Msg                     ' Muestra el mensaje.
   MSHFlexGrid1.Cols = 2            ' Dos cadenas por fila.
   For i = 1 To 100               ' Cuenta de 1 a 100.
      Entry = "Entrada " & Chr(9) & I ' Crea la entrada.
      MSHFlexGrid1.AddItem Entry   ' Agrega la entrada.
   Next i
   Msg = "Haga clic en Aceptar para eliminar otras entradas."
   MsgBox Msg                     ' Muestra el mensaje.
   For i = 1 To 50               ' Determina cómo se
      MSHFlexGrid1.RemoveItem i   ' eliminan los otros
   Next I                        ' elementos.
   Msg = "Haga clic en Aceptar para eliminar todos los elementos."
   MsgBox Msg                     ' Muestra el mensaje.
   MSHFlexGrid1.Clear               ' Borra el cuadro de lista.
End Sub


Clear (Método, control MSHFlexGrid)

Elimina el contenido del control MSHFlexGrid. Esto incluye todo el texto, imágenes y formato de celda. Este método no afecta al número de filas y columnas del control MSHFlexGrid.

Sintaxis

objeto.Clear

El marcador de posición objeto representa una expresión de objeto que da como resultado un objeto de la lista Se aplica a.

Comentarios

Para eliminar celdas en lugar de eliminar sólo el contenido, utilice el método RemoveItem en cada fila que desee eliminar.


Ejemplo del método Clear, control MSHFlexGrid

En este ejemplo se escribe "Flex" en la celda actual cada vez que el usuario hace clic en una celda. Cuando el usuario hace doble clic, se elimina el contenido del control MSHFlexGrid. Para ejecutar el programa haga clic en F5.

Nota Si está utilizando el control MSFlexGrid, sustituya "MSHFlexGrid1" con "MSFlexGrid1."

Private Sub Form_Load ()
   MSHFlexGrid1.Rows = 8
   MSHFlexGrid1.Cols = 5
End Sub

Private Sub MSHFlexGrid1_Click ()
   ' Coloca texto en la celda actual.
   MSHFlexGrid1.Text = "Flex"
End Sub

Private Sub MSHFlexGrid1_DblClick ()
   MSHFlexGrid1.Clear
End Sub


ClearStructure (Método, MSHFlexGrid)

Borra cualquier información de asociación del control MSHFlexGrid relativa al orden y al nombre de las columnas mostradas. Es posible establecer esta información en tiempo de diseño mediante la ficha Band del cuadro de diálogo Página de propiedades o el comando Obtener estructura del menú emergente.

Este método permite restaurar el control MSHFlexGrid a un estado conocido. Si el usuario cambia por programa el origen subyacente del control MSHFlexGrid (y dicho origen posee una estructura diferente), ejecute este método con el fin de mostrar los datos apropiadamente.

Sintaxis

objeto.ClearStructure

El marcador de posición objeto representa una expresión de objeto que da como resultado un objeto de la lista Se aplica a.

Comentarios

Si la estructura se cambia sin borrar la información de asignación, el control MSHFlexGrid intenta mostrar el nuevo origen usando la información de asignación existente. Sólo muestran datos las columnas especificadas en la información de asignación en el control MSHFlexGrid. Las demás columnas especificadas en la información de asignación se muestran también, pero sin ningún dato.


CollapseAll (Método, control MSHFlexGrid)

Contrae todas las filas de la banda especificada del control MSHFlexGrid.

Sintaxis

objeto.CollapseAll(número)

La sintaxis del método CollapseAll consta de las siguientes partes:

Parte | Descripción
objeto | Una expresión de objeto que da como resultado un objeto de la lista Se aplica a.
número | Opcional. Un valor de tipo Long que especifica la banda que contiene las filas que desea contraer.


ExpandAll (Método, control MSHFlexGrid)

Expande todas las filas de la banda especificada del control MSHFlexGrid.

Sintaxis

objeto.ExpandAll(número)

El método ExpandAll consta de las siguientes partes:

Parte | Descripción
objeto | Una expresión de objeto que da como resultado un objeto de la lista Se aplica a.
número | Opcional. Un valor de tipo Long que especifica la banda que contiene las filas que desea expandir. Si no se especifica, el valor predeterminado es –1.


RemoveItem (Método, control MSHFlexGrid)

Quita una fila de un control MSHFlexGrid en tiempo de ejecución. Esta propiedad no admite argumentos con nombre.

Sintaxis

objeto.RemoveItem(index, number)

La sintaxis del método RemoveItem consta de las siguientes partes:

Parte | Descripción
objeto | Una expresión de objeto que da como resultado un objeto de la lista Se aplica a.
index | Un entero que representa la fila del control MSHFlexGrid que se va a quitar. Para la primera fila, index=0.
number | Un valor de tipo Long que especifica la banda de la fila que se va a quitar.

Comentarios

El método quita la fila especificada. Para borrar los datos sin quitar las filas, utilice el método Clear.

Se requiere number si la propiedad BandDisplay se establece en horizontal y el control MSHFlexGrid se enlaza a un Recordset jerárquico. Si la propiedad BandDisplay se establece en vertical, number sólo es necesario si la banda es ambigua.

Cuando elimina una fila de una banda que contiene registros secundarios, éstos se quitan automáticamente.


AllowBigSelection (Propiedad)

Devuelve o establece un valor que determina si al hacer clic en un encabezado de columna o de fila se seleccionará toda la fila o columna.

Sintaxis

objeto.AllowBigSelection [=booleano ]

La sintaxis de la propiedad AllowBigSelection consta de las siguientes partes:

Parte | Descripción
objeto | Expresión de objeto que da como resultado un objeto de la lista Se aplica a.
booleano | Expresión booleana que determina si se seleccionará la columna o la fila completa cuando se hace clic en el encabezado.

Valores

Los valores para Booleano son:

Valor | Descripción
True | Predeterminado. Cuando el usuario hace clic en el encabezado, se selecciona toda la fila o columna.
False | Cuando el usuario hace clic en el encabezado, se selecciona únicamente el encabezado.


Ejemplo de la propiedad AllowBigSelection

El siguiente código de ejemplo permite seleccionar toda la fila o la columna cuando el usuario hace clic en el encabezado.

Nota Si está utilizando el control MSFlexGrid, sustituya "MSHFlexGrid1" con "MSFlexGrid1."

Sub Form1_Load ()
   MSHFlexGrid1.AllowBigSelection =True
End Sub


AllowUserResizing (Propiedad)

Devuelve o establece un valor que indica si el usuario puede modificar el tamaño de las filas y columnas del control MSHFlexGrid con el mouse.

Sintaxis

objeto.AllowUserResizing [= valor]

La sintaxis de la propiedad AllowUserResizing consta de las siguientes partes:

Parte | Descripción
objeto | Expresión de objeto que da como resultado un objeto de la lista Se aplica a.
valor | Entero o constante que especifica si el usuario puede modificar el tamaño de las filas y columnas, como se describe en Valores.

Valores

Los valores de valor son:

Constante | Valor | Descripción
flexResizeNone | 0 | Ninguna. Predeterminado. El usuario no puede modificar el tamaño de las columnas ni de las filas con el mouse.
flexResizeColumns | 1 | Columnas. El usuario puede modificar el tamaño de las columnas con el mouse.
flexResizeRows | 2 | Filas. El usuario puede modificar el tamaño de las filas con el mouse.
flexResizeBoth | 3 | Ambas. El usuario puede modificar el tamaño de filas y columnas con el mouse.

Comentarios

Para modificar el tamaño de las filas o columnas, el mouse debe estar en el área fija del control MSHFlexGrid y cerca del borde de las filas y columnas. El puntero del mouse se presenta con el icono de cambio de tamaño adecuado y el usuario puede arrastrar la fila o columna para modificar el alto de la fila o el ancho de la columna.


Ejemplo de la propiedad AllowUserResizing

El código siguiente agrega la funcionalidad para cambiar el tamaño.

Nota Si está utilizando el control MSFlexGrid, sustituya "MSHFlexGrid1" con "MSFlexGrid1."

Sub Form1_Load ()
   MSHFlexGrid1.AllowUserResizing =True
End Sub


BackColorBand, BackColorHeader, BackColorIndent, BackColorUnpopulated (Propiedades)

  • BackColorBand: Devuelve o establece el color de fondo del área de la banda del control MSHFlexGrid.

  • BackColorHeader:Devuelve o establece el color de fondo del área del encabezado del control MSHFlexGrid.

  • BackColorIndent: Devuelve o establece el color de fondo del área con sangría del control MSHFlexGrid.

  • BackColorUnpopulated: Devuelve o establece el color de fondo del área sin llenar del control MSHFlexGrid.

Sintaxis

objeto.BackColorBand [= color]
objeto.BackColorHeader [= color]
objeto.BackColorIndent [= color]
objeto.BackColorUnpopulated [= color]

La sintaxis de las propiedades BackColorBand, BackColorHeader, BackColorIndent y BackColorUnpopulated tienen las siguientes partes:

Parte | Descripción
objeto | Expresión de objeto que da como resultado un objeto de la lista Se aplica a.
color | Expresión numérica que indica el color.


BackColor, BackColorBkg, BackColorFixed, BackColorSel (Propiedades)

Devuelve o establece el color de fondo de los diferentes elementos del control MSHFlexGrid.

Sintaxis

objeto.BackColor [=color]
objeto.BackColorBkg [=color]
objeto.BackColorFixed [=color]
objeto.BackColorSel [=color]

La sintaxis de las propiedades BackColor, BackColorBkg, BackColorFixed y BackColorSel consta de las siguientes partes:

Parte | Descripción
objeto | Expresión de objeto que da como resultado un objeto de la lista Se aplica a.
color | Expresión numerica que especifica el color.

Comentarios

El dibujo que aparece a continuación muestra la parte del control MSHFlexGrid a que hace referencia estas propiedades:

BackColor afecta al color de todas las celdas no fijas. Para establecer el color de fondo de las celdas individuales, utilice la propiedad CellBackColor.


Ejemplo de la propiedades BackColor, BackColorBkg, BackColorFixed y BackColorSel

En el siguiente ejemplo se utilizan las propiedades BackColorBkg, BackColorFixed, y BackColorSel del control MSHFlexGrid. De forma aleatoria, se restablecen dos veces por segundo los colores de fondo de los controles, el fondo seleccionado y el fondo de celda fija del control MSHFlexGrid. Para probar este ejemplo, pegue el código a la sección Declaraciones de un formulario con un control Timer y un control MSHFlexGrid con los nombres Timer1 y MSHFlexGrid1 respectivamente, y después cargue el formulario.

Nota Si está utilizando el control MSFlexGrid, sustituya "MSHFlexGrid1" con "MSFlexGrid1."

Private Sub Form_Load ()
   Timer1.Interval = 500
End Sub

Private Sub Timer1_Timer ()
   MSHFlexGrid1.BackColorBkg = QBColor(Rnd * 15)
   MSHFlexGrid1.BackColorFixed = QBColor(Rnd * 10)
   MSHFlexGrid1.BackColorSel = QBColor(Rnd * 10)
End Sub


BandColIndex (Propiedad, MSHFlexGrid)

Devuelve el número de columnas de la celda actual relativa a la banda que contiene esa celda.

Sintaxis

objeto.BandColIndex [=valor]

La sintaxis de la propiedad BandColIndex consta de las siguientes partes:

Parte | Descripción
objeto | Expresión de objeto que da como resultado un objeto de la lista Se aplica a.
valor | Un valor de tipo Long que especifica el número de columna de la celda actual.


BandDisplay (Propiedad de MSHFlexGrid)

Especifica cómo se muestran las bandas dentro del control MSHFlexGrid.

Sintaxis

objeto.DisplayBandSettings [=valor]

La sintaxis de la propiedad BandDisplay consta de las siguientes partes:

Parte | Descripción
objeto | Una expresión de objeto que da como resultado un objeto de la lista Se aplica a.
valor | Una expresión numérica que especifica cómo se muestran las bandas dentro del control MSHFlexGrid, como se describe en Valores.

Valores

Los valores admitidos para valor son:

Valor | Valor | Descripción
flexBandDisplayHorizontal | 0 | Predeterminado. Las bandas en el control MSHFlexGrid se muestran horizontales (atravesadas).
flexBandDisplayVertical | 1 | Las bandas en el control MSHFlexGrid se muestran verticales (de arriba abajo).


BandExpandable (Propiedad de MSHFlexGrid)

Devuelve o establece un conjunto de valores que determinan si la fila de la banda actual se puede expandir y contraer. La banda actual está definida por las propiedades Col y Row. La propiedad es de sólo lectura en tiempo de ejecución y no está disponible en tiempo de diseño.

Sintaxis

objeto.BandExpandable(number) [=booleano]

La sintaxis de la propiedad BandExpandable consta de las siguientes partes:

Parte | Descripción
objeto | Una expresión de objeto que da como resultado un objeto de la lista Se aplica a.
number | Un valor de tipo Long que indica el número de la banda en el control MSHFlexGrid.
Boolean | Una expresión booleana que determina si una banda específica puede expandirse o contraerse.

Valores

Los valores admitidos para Boolean son:

Valor | Descripción
True | Predeterminado. La banda especificada se puede expandir y contraer.
False | La banda especificada no se puede expandir ni contraer.

Comentarios

Cuando es posible expandir una banda, aparece un mapa de bits estándar que representa un signo más (+) o menos (–) a la izquierda de la primera columna, dentro de la banda. Este mapa de bits se puede sustituir al establecer las propiedades ExpandPicture y CollapsePicture. Cuando se muestra la cuadrícula por primera vez, es posible contraer todas las bandas de modo predeterminado.

Cuando se establece esta propiedad a False se deshabilita la posibilidad de que el usuario expanda o contraiga la banda; no permite por sí misma expandir o contraer las filas en la banda especificada. Por ejemplo, si las filas secundarias son visibles antes de establecer esta propiedad a False, las filas secundarias siguen estando visibles después de establecer el valor.

Para que una banda se pueda expandir, debe tener al menos una banda secundaria. Si no existe tal banda secundaria, se pasa por alto la propiedad BandExpandable.


BandIndent (Propiedad de MSHFlexGrid)

Especifica el número de columnas correspondientes a la sangría de una banda.

Sintaxis

objeto.BandIndent [=número]

La sintaxis de la propiedad BandIndent consta de las siguientes partes:

Parte | Descripción
objeto | Una expresión de objeto que da como resultado un objeto de la lista Se aplica a.
número | Un valor de tipo Long que especifica la banda a la que debe aplicarse la sangría en el control MSHFlexGrid. El valor predeterminado es 0.


BandLevel (Propiedad de MSHFlexGrid)

Devuelve el número de banda que contiene la celda actual. Los números de bandas empiezan por 0. La celda actual está definida por las propiedades Col y Row. La propiedad no está disponible en tiempo de diseño.

Sintaxis

objeto.BandLevel [=número]

La sintaxis de la propiedad BandLevel consta de las siguientes partes:

Parte | Descripción
objeto | Una expresión de objeto que da como resultado un objeto de la lista Se aplica a.
número | Un entero o constante que especifica el número de banda que contiene la celda actual.


Bands (Propiedad de MSHFlexGrid)

Devuelve el número total de bandas en un control MSHFlexGrid. El control MSHFlexGrid siempre tiene una banda como mínimo. Cuando el control MSHFlexGrid está enlazado a un objeto Recordset estándar, el control MSHFlexGrid completo se trata como si fuera una sola banda.

Sintaxis

objeto.Bands [=valor]

La sintaxis de la propiedad Bands consta de las siguientes partes:

Parte | Descripción
objeto | Una expresión de objeto que da como resultado un objeto de la lista Se aplica a.
valor | El número total de bandas en un control MSHFlexGrid.

Comentarios

La propiedad es de sólo lectura. El valor lo define el número de objetos Recordset presentes en la jerarquía de objetos Recordset con la que el control está enlazado.

Vea las propiedades Col y Row.


CellAlignment (Propiedad)

Devuelve o establece un valor que determina la alineación horizontal y vertical de los datos dentro de la celda actual. La propiedad no está disponible en tiempo de diseño.

Sintaxis

objeto.CellAlignment [=valor]

La sintaxis de la propiedad CellAlignment consta de las siguientes partes:

Parte | Descripción
objeto | Una expresión de objeto que da como resultado un objeto de la lista Se aplica a.
valor | Un entero o constante que especifica cómo se debe alinear el texto dentro de la celda actual, como se describe en Valores.

Valores

Los valores admitidos para valor son:

Constante | Valor | Descripción
flexAlignLeftTop | 0 | El contenido de la celda se alinea a la izquierda, arriba.
flexAlignLeftCenter | 1 | Predeterminado para las cadenas. El contenido de la celda se alinea a la izquierda, centro.
flexAlignLeftBottom | 2 | El contenido de la celda se alinea a la izquierda, abajo.
flexAlignCenterTop | 3 | El contenido de la celda se alinea al centro y arriba.
flexAlignCenterCenter | 4 | El contenido de la celda se alinea al centro, centro.
flexAlignCenterBottom | 5 | El contenido de la celda se alinea al centro, abajo.
flexAlignRightTop | 6 | El contenido de la celda se alinea a la derecha, arriba.
flexAlignRightCenter | 7 | Predeterminado para los números. El contenido de la celda se alinea a la derecha, centro.
flexAlignRightBottom | 8 | El contenido de la celda se alinea a la derecha, abajo.
flexAlignGeneral | 9 | El contenido de la celda tiene la alineación general. Esta corresponde a "izquierda, centro" para las cadenas y "derecha, centro" para los números.


Ejemplo de la propiedad CellAlignment

El ejemplo siguiente establece la alineación de texto para cada celda a izquierda, centro, mediante el valor de una constante.

Nota Si utiliza el control MSFlexGrid, sustituya "MSHFlexGrid1" por "MSFlexGrid1".

Sub Form1_Load ()
   MSHFlexGrid1.CellAlignment =flexAlignLeftCenter
End Sub


CellBackColor, CellForeColor (Propiedades)

  • CellBackColor — Devuelve o establece los colores de fondo de celdas individuales o de intervalos de celdas.

  • CellForeColor — Devuelve o establece los colores de primer plano de celdas individuales o de intervalos de celdas.

Estas propiedades no están disponibles en tiempo de diseño.

Sintaxis

objeto.CellBackColor [=color]
objeto.CellForeColor [=color]

La sintaxis de las propiedades CellBackColor y CellForeColor consta de las siguientes partes:

Parte | Descripción
objeto | Expresión de objeto que da como resultado un objeto de la lista Se aplica a.
color | Integer (enumerado). Expresión numérica que especifica el color de la celda actualmente seleccionada. Si establece cualquiera de estas propiedades a cero, las celdas se muestran con los colores estándar de fondo y primer plano.

Comentarios

Modificar esta propiedad afecta a la celda o a la selección actual, según el valor de la propiedad FillStyle.

Establecer cualquiera de estas propiedades a cero determina que el control MSHFlexGrid coloree la celda con los colores estándar de fondo y de primer plano. Si desea establecer alguna de estas propiedades a negro, establezca el valor uno en lugar de cero.

Para establecer los colores de los distintos elementos del control MSHFlexGrid, utilice las propiedades BackColorBkg, BackColorFixed, BackColorSel, ForeColorFixed y ForeColorSel. Para que todas las celdas que no sean fijas tengan el mismo color de fondo, utilice la propiedad BackColor.


Ejemplo de las propiedades CellBackColor y CellForeColor

En este ejemplo se utilizan las propiedades CellBackColor y CellForeColor en MSHFlexGrid. De forma aleatoria, se restablecen dos veces por segundo los colores del fondo y del texto de las celdas que tienen el enfoque en el control MSHFlexGrid. Para probar este ejemplo, pegue el código siguiente a la sección Declaraciones de un formulario con un control Timer y un control MSHFlexGrid con los nombres Timer1 y MSHFlexGrid1 respectivamente, y después cargue el formulario.

Nota Si está utilizando el control MSFlexGrid, sustituya "MSHFlexGrid1" con "MSFlexGrid1."

Private Sub Form_Load ()
   Timer1.Interval = 500
   MSHFlexGrid1.Text = "El enfoque está aquí"

End Sub

Private Sub Timer1_Timer ()
   MSHFlexGrid1.CellBackColor = QBColor(Rnd * 15)
   MSHFlexGrid1.CellForeColor = QBColor(Rnd * 10)
End Sub


CellFontBold (Propiedad)

Devuelve o establece el estilo negrita para el texto de la celda actual. Esta propiedad no está disponible en tiempo de diseño.

Sintaxis

objeto.CellFontBold [= booleano]

La sintaxis de la propiedad CellFontBold consta de las siguientes partes:

Parte | Descripción
objeto | Expresión de objeto que da como resultado un objeto de la lista Se aplica a.
booleano | Expresión booleana que determina si el texto de la celda activa está en negrita.

Valores

Los valores para Booleano son:

Valor | Descripción
True | El texto de la celda actual está en negrita.
False | Predeterminada. El texto de la celda actual es normal (no negrita).

Comentarios

Modificar esta propiedad afecta a la celda o a la selección actual, según el valor de la propiedad FillStyle.


Ejemplo de la propiedad CellFontBold

El código siguiente establece el texto de la celda actual si el control MSHFlexGrid tiene el enfoque:

Nota Si está utilizando el control MSFlexGrid, sustituya "MSHFlexGrid1" con "MSFlexGrid1."

Sub MSHFlexGrid1_GotFocus()
   MSHFlexGrid1.CellFontBold = 1
End Sub


CellFontItalic (Propiedad)

Devuelve o establece el estilo cursiva del texto de la celda actual. Esta propiedad no está disponible en tiempo de diseño.

Sintaxis

objeto.CellFontItalic [= booleano]

La sintaxis de la propiedad CellFontItalic consta de las siguientes partes:

Parte | Descripción
objeto | Expresión de objeto que da como resultado un objeto de la lista Se aplica a.
booleano | Expresión booleana que determina si el estilo de texto de la celda es cursiva.

Valores

Los valores para Booleano son:

Valores | Descripción
True | El texto de la celda está en cursiva.
False | Predeterminado. El texto de la celda actual es normal (no cursiva).

Comentarios

Modificar esta propiedad afecta a la celda o a la selección actual, según el valor de la propiedad FillStyle.


Ejemplo de la propiedad CellFontItalic

El código siguiente establece el texto de la celda actual a cursiva si el control MSHFlexGrid tiene el enfoque:

Nota Si está utilizando el control MSFlexGrid, sustituya "MSHFlexGrid1" con "MSFlexGrid1."

Sub MSHFlexGrid1_GotFocus()
   MSHFlexGrid1.CellFontItalic = True
End Sub


CellFontName (Propiedad)

Devuelve o establece el nombre de la fuente para el texto de la celda actual. Esta propiedad no está disponible en tiempo de diseño.

Sintaxis

objeto.CellFontName [= cadena]

La sintaxis de la propiedad CellFontName consta de las siguientes partes:

Parte | Descripción
objeto | Expresión de objeto que da como resultado un objeto de la lista Se aplica a.
cadena | Expresión de cadena con el nombre de una de las fuentes disponibles.

Comentarios

Modificar esta propiedad afecta a la celda o a la selección actual, según el valor de la propiedad FillStyle.


Ejemplo de la propiedad CellFontName

El código siguiente establece el texto de la celda actual a un tipo determinado de fuente si el control MSHFlexGrid tiene el enfoque:

Nota Si está utilizando el control MSFlexGrid, sustituya "MSHFlexGrid1" con "MSFlexGrid1."

Sub MSHFlexGrid1_GotFocus()
   MSHFlexGrid1.CellFontName = Screen.Fonts(3)
   MSHFlexGrid1.Text = Screen.Fonts(3)   ' Muestra el
                                       ' nombre de la
                                       ' fuente.
End Sub


CellFontSize (Propiedad)

Devuelve o establece el tamaño, en puntos, de la fuente de la celda actual. Esta propiedad no está disponible en tiempo de diseño.

Sintaxis

objeto.CellFontSize [= valor]

La sintaxis de la propiedad CellFontSize consta de las siguientes partes:

Parte | Descripción
objeto | Expresión de objeto que da como resultado un objeto de la lista Se aplica a.
valor | Single. Expresión numérica que indica el tamaño de la fuente de la celda actual.

Comentarios

Modificar esta propiedad afecta a la celda o a la selección actual, según el valor de la propiedad FillStyle.


Ejemplo de la propiedad CellFontSize

El código siguiente establece el texto de la celda actual a 12 puntos si el control MSHFlexGrid tiene el enfoque:

Nota Si está utilizando el control MSFlexGrid, sustituya "MSHFlexGrid1" con "MSFlexGrid1."

Sub MSHFlexGrid1_GotFocus()
   MSHFlexGrid1.CellFontSize =12
End Sub


CellFontStrikeThrough (Propiedad)

Devuelve o establece un valor que determina si el estilo tachado se aplica al texto de la celda actual.

Sintaxis

objeto.CellFontStrikeThrough =[ booleano]

La propiedad CellFontStrikeThrough consta de las siguientes partes:

Parte | Descripción
objeto | Expresión de objeto que da como resultado un objeto de la lista Se aplica a.
booleano | Expresión booleana que especifica si se aplica al texto de la celda el estilo tachado.

Valores

Los valores de booleano son:

Valores | Descripción
True | El estilo tachado se aplica al texto de la celda.
False | (Predeterminado) El estilo tachado no se aplica al texto de la celda.

Comentarios

Modificar la propiedad CellFontStrikeThrough afecta a la celda o a la selección actual, según el valor de la propiedad FillStyle.


Ejemplo de la propiedad CellFontStrikeThrough

El código siguiente establece el texto de la celda actual al estilo tachado si el control MSHFlexGrid tiene el enfoque:

Nota Si está utilizando el control MSFlexGrid, sustituya "MSHFlexGrid1" con "MSFlexGrid1."

Sub MSHFlexGrid1_GotFocus
   MSHFlexGrid1.CellFontStrikeThrough =1
End Sub


CellFontUnderline (Propiedad)

Devuelve o establece un valor que especifica si se subraya el texto de la celda actual.

Sintaxis

objeto.CellFontUnderline =[ booleano]

La sintaxis de la propiedad CellFontUnderline consta de las siguientes partes:

Parte | Descripción
objeto | Expresión de objeto que da como resultado un objeto de la lista Se aplica a.
booleano | Expresión booleana que indica si se subraya el texto de la celda.

Valores

Los valores de booleano son:

Valores | Descripción
True | Se aplica al texto de la celda el estilo subrayado.
False | (Predeterminado) No se aplica al texto de la celda el estilo subrayado.

Comentarios

Modificar la propiedad CellFontUnderline afecta a la celda o a la selección actual, según el valor de la propiedad FillStyle.


Ejemplo de la propiedad CellFontUnderline

El código siguiente establece el texto de la celda actual a subrayado si el control MSHFlexGrid tiene el enfoque:

Nota Si está utilizando el control MSFlexGrid, sustituya "MSHFlexGrid1" con "MSFlexGrid1."

Sub MSHFlexGrid1_GotFocus
   MSHFlexGrid1.CellFontUnderline =1
End Sub


CellFontWidth (Propiedad)

Devuelve o establece el ancho, en puntos, del texto de la celda actual. No está disponible en tiempo de diseño.

Sintaxis

objeto.CellFontWidth [= valor]

La sintaxis de la propiedad CellFontWidth consta de las siguientes partes:

Parte | Descripción
objeto | Expresión de objeto que da como resultado un objeto de la lista Se aplica a.
valor | Single. Expresión numérica que indica el ancho deseado para la fuente de la celda actual.

Comentarios

Modificar la propiedad CellFontWidth afecta a la celda o a la selección actual, según el valor de la propiedad FillStyle.


Ejemplo de la propiedad CellFontWidth

El código siguiente establece el ancho del texto de la celda activa cuando el control MSHFlexGrid tiene el enfoque:

Nota Si está utilizando el control MSFlexGrid, sustituya "MSHFlexGrid1" con "MSFlexGrid1."

Sub MSHFlexGrid1_GotFocus()
   MSHFlexGrid1.CellFontWidth =5
End Sub


CellHeight, CellLeft, CellTop, CellWidth (Propiedades, control MSHFlexGrid)

Devuelve la ubicación y el tamaño de la celda activa, en twips. Estas propiedades no están disponibles en tiempo de diseño.

Sintaxis

objeto.CellHeight [=valor]
objeto.CellLeft [=valor]
objeto.CellTop [=valor]
objeto.CellWidth [=valor]

La sintaxis para las propiedades CellHeight, CellLeft, CellTop y CellWidth tienen las siguientes partes:

Parte | Descripción
objeto | Expresión de objeto que da como resultado un objeto de la lista Se aplica a.
valor | Expresión numérica que especifica la posición o el tamaño de la celda activa.

Comentarios

Estas propiedades facilitan la emulación de la modificación de celdas. Si intercepta el evento KeyPress del control MSHFlexGrid, puede colocar un cuadro de texto o algún otro control sobre la celda actual para permitir que el usuario modifique su contenido.

Los valores devueltos siempre están en twips, independientemente del valor de ScaleMode del formulario.


CellPictureAlignment (Propiedad)

Devuelve o establece la alineación de imágenes en una celda o intervalo de celdas seleccionadas. Esta propiedad no está disponible en tiempo de diseño.

Sintaxis

objeto.CellPictureAlignment [= valor]

La sintaxis de la propiedad CellPictureAlignment consta de las siguientes partes:

Parte | Descripción
objeto | Expresión de objeto que da como resultado un objeto de la lista Se aplica a.
valor | Entero o constante que especifica cómo deben alinearse las imágenes en las celdas, como se describe en Valores.

Valores

Los valores de valor son:

Constante | Valor | Descripción
flexAlignLeftTop | 0 | La imagen es alineada a la izquierda, arriba.
flexAlignLeftCenter | 1 | La imagen es alineada a la izquierda, centro.
flexAlignLeftBottom | 2 | La imagen es alineada a la izquierda, abajo.
flexAlignCenterTop | 3 | La imagen es alineada al centro, arriba.
flexAlignCenterCenter | 4 | La imagen es alineada al centro, centro.
flexAlignCenterBottom | 5 | La imagen es alineada al centro, abajo.
flexAlignRightTop | 6 | La imagen es alineada a la derecha, arriba.
flexAlignRightCenter | 7 | La imagen es alineada a la derecha, centro.
flexAlignRightBottom | 8 | La imagen es alineada a la derecha, abajo.

Comentarios

Modificar esta propiedad afecta a la celda o a la selección actual, según el valor de la propiedad FillStyle.

La propiedad FillStyle debe establecerse a 1 (Repeat) mediante CellAlignment para alinear un intervalo de celdas seleccionadas dentro del control MSHFlexGrid.


Ejemplo de la propiedad CellPictureAlignment

El código siguiente establece la alineación de la imagen de la celda actual a Derecha centro, con el valor de la constante.

Nota Si está utilizando el control MSFlexGrid, sustituya "MSHFlexGrid1" con "MSFlexGrid1."

Sub Form1_Load
   MSHFlexGrid1.CellPictureAlignment =_
   flexAlignRightCenter
End Sub


CellPicture (Propiedad)

Devuelve o establece una imagen para mostrar en la celda actual o en un intervalo de celdas. Esta propiedad no está disponible en tiempo de diseño.

Sintaxis

objeto.CellPicture [= imagen]

La sintaxis de la propiedad CellPicture consta de las siguientes partes:

Parte | Descripción
objeto | Expresión de objeto que da como resultado un objeto de la lista Se aplica a.
imagen | Mapa de bits, icono o gráfico de metarchivo. También se puede asignar a la propiedad Picture otros controles.

Comentarios

Puede establecer esta propiedad en tiempo de ejecución con la función LoadPicture en un mapa de bits, icono o metarchivo, o si le asigna la propiedad Picture de otro control.

Modificar esta propiedad afecta a la celda o a la selección actual, según el valor de la propiedad FillStyle.

Cada celda puede contener texto y una imagen. La posición relativa del texto y la imagen se determina con las propiedades CellAlignment y CellPictureAlignment.


Ejemplo de la propiedad CellPicture

En el siguiente ejemplo se cargan iconos de la biblioteca de iconos de Visual Basic en dos celdas de un control MSHFlexGrid. Puede usar dos iconos cualesquiera. Pegue el código a la sección Declaraciones de un formulario que contenga el control MSHFlexGrid. Presione F5 para ejecutar el programa y después haga clic en el formulario.

Private Sub Form_Click ()
   ' Carga los iconos.
   MSHFlexGrid1.Row = 1
   MSHFlexGrid1.Col = 1
   Set MSHFlexGrid1.CellPicture = _
   LoadPicture("Icons\Computer\Trash02a.ico")
   MSHFlexGrid1.Row = 1
   MSHFlexGrid1.Col = 2
   Set MSHFlexGrid1.CellPicture = _
   LoadPicture("Icons\Computer\Trash02b.ico")
End Sub


CellTextStyle (Propiedad)

Devuelve o establece el estilo tridimensional para el texto en una celda determinada o en un intervalo de celdas. Esta propiedad no está disponible en tiempo de diseño.

Sintaxis

objeto.CellTextStyle [= valor]

La sintaxis de la propiedad CellTextStyle consta de las siguientes partes:

Parte | Descripción
objeto | Una expresión de objeto que da como resultado un objeto de la lista Se aplica a.
valor | Entero o constante que especifican una de las constantes de la propiedad CellTextStyle, como se describe en Valores.

Valores

Los valores de valor son:

Constante | Valor | Descripción
flexTextFlat | 0 | Predeterminado. El texto es normal (plano).
flexTextRaised | 1 | El texto aparece en relieve.
flexTextInset | 2 | El texto aparece incrustado.
flexTextRaisedLight | 3 | El texto aparece en relieve con sombreado.
flexTextInsetLight | 4 | El texto aparece incrustado con sombreado.

Comentarios

Los valores 1 y 2 son más apropiados para fuentes grandes y en negrita. Los valores 3 y 4 son más apropiados para fuentes pequeñas y redondas. Los valores de BackColor también afectan a la apariencia de la celda; hay valores de BackColor que no muestran la característica de relieve o incrustación.

Modificar esta propiedad afecta a la celda o a la selección actual, según el valor de la propiedad FillStyle.


Ejemplo de la propiedad CellTextStyle

En el código siguiente se establece el estilo de texto de la celda o de la selección actual a Incrustado, con el valor de la constante.

Nota Si está utilizando el control MSFlexGrid, sustituya "MSHFlexGrid1" con "MSFlexGrid1."

Sub MSHFlexGrid1_GotFocus
   MSHFlexGrid1.CellTextStyle =flexTextInset
End Sub


CellType (Propiedad de MSHFlexGrid)

Devuelve el tipo de la celda actual y activa del control MSHFlexGrid.

Sintaxis

objeto.CellType [=valor]

La sintaxis de la propiedad CellType consta de las siguientes partes:

Parte | Descripción
objeto | Una expresión de objeto que da como resultado un objeto de la lista Se aplica a.
valor | Un valor de tipo Long que especifica la posición de la celda activa , como se describe en valores.

Valores

Los valores admitidos para valor son:

Constante | Valor | Descripción
flexCellTypeStandard | 0 | Predeterminado. La celda es una celda estándar.
flexCellTypeFixed | 1 | La celda está dentro de una fila o columna fija.
flexCellTypeHeader | 2 | La celda es la celda de encabezado de una banda de datos.
flexCellTypeIndent | 3 | La celda se usa en una columna que aplica una sangría a una banda de datos.
flexCellTypeUnpopulated | 4 | La celda es una celda sin llenar.


Clip (Propiedad, control MSHFlexGrid)

Devuelve o establece el contenido de las celdas de la región seleccionada en el control MSHFlexGrid. Esta propiedad no está disponible en tiempo de diseño.

Sintaxis

objeto.Clip [= cadena]

La sintaxis de la propiedad Clip consta de las siguientes partes:

Parte | Descripción
objeto | Expresión de objeto que da como resultado un objeto de la lista Se aplica a.
cadena | Expresión de cadena con el contenido del área seleccionada.

Comentarios

La cadena puede almacenar los contenidos de múltiples filas y columnas. En una cadena, el carácter de tabulación, Chr (9), o la constante vbTab indican una nueva celda en una fila. También en una cadena, un carácter de retorno, Chr (13) o vbCR indican el principio de una nueva fila. Utilice la función Chr o las constantes de Visual Basic para incrustar estos caracteres en cadenas.

Cuando coloca datos en un control MSHFlexGrid, sólo afecta a las celdas seleccionadas. Si hay en la región seleccionada más celdas de las descritas en la cadena, las celdas restantes se dejan solas. Si hay más celdas descritas en cadena que en la región seleccionada, se pasa por alto la parte no utilizada de la cadena.


Ejemplo de la propiedad Clip, control MSHFlexGrid

En este ejemplo, se escribe "Juan", "Irene" y "Elena" en las celdas seleccionadas cada vez que el usuario selecciona un grupo de celdas. Cuando el usuario hace doble clic, se elimina el control MSHFlexGrid. Para ejecutar el programa haga clic en F5.

Nota Si está utilizando el control MSFlexGrid, sustituya "MSHFlexGrid1" con "MSFlexGrid1."

Private Sub Form_Load ()
   MSHFlexGrid1.Rows = 8
   MSHFlexGrid1.Cols = 5
End Sub

Private Sub MSHFlexGrid1_MouseUp (Button As Integer, _
Shift as Integer, X As Single, Y As Single)
Dim miCdn As String
   miCdn = "Juan" + Chr(9) + "Irene" + Chr(9) + "Elena"
   MSHFlexGrid1.Clip = miCdn
End Sub

Private Sub MSHFlexGrid1_DblClick()
   MSHFlexGrid1.Clear
End Sub


ColAlignment, ColAlignmentBand, ColAlignmentHeader (Propiedades, control MSHFlexGrid)

Devuelve o establece la alineación de los datos en una columna. Puede tratarse de una columna estándar, de una columna dentro de una banda o de una columna dentro de un encabezado. No está disponible en tiempo de diseño (excepto indirectamente a través de la propiedad FormatString).

Sintaxis

objeto.ColAlignment(number) [=valor]
objeto.ColAlignmentBand(number) [=valor]
objeto.ColAlignmentHeader(number) [=valor]

La sintaxis de las propiedades ColAlignment, ColAlignmentBand y ColAlignmentHeader tienen las siguientes partes:

Parte | Descripción
objeto | Expresión de objeto que da como resultado un objeto de la lista Se aplica a.
number | Un valor de tipo Long que especifica el número de la columna del control MSHFlexGrid.
valor | Entero o constante que especifica la alineación de los datos en una columna, como se describe en Valores.

Valores

Los valores de valor son:

Constante | Valor | Descripción
flexAlignLeftTop | 0 | El contenido de la celda se alinea a la izquierda, arriba.
flexAlignLeftCenter | 1 | Predeterminado para las cadenas. El contenido de la celda se alinea a la izquierda, centro.
flexAlignLeftBottom | 2 | El contenido de la celda se alinea a la izquierda, abajo.
flexAlignCenterTop | 3 | El contenido de la celda se alinea al centro y arriba.
flexAlignCenterCenter | 4 | El contenido de la celda se alinea al centro, centro.
flexAlignCenterBottom | 5 | El contenido de la celda se alinea al centro, abajo.
flexAlignRightTop | 6 | El contenido de la celda se alinea a la derecha, arriba.
flexAlignRightCenter | 7 | Predeterminado para los números. El contenido de la celda se alinea a la derecha, centro.
flexAlignRightBottom | 8 | El contenido de la celda se alinea a la derecha, abajo.
flexAlignGeneral | 9 | El contenido de la celda tiene la alineación general. Esta corresponde a "izquierda, centro" para las cadenas y "derecha, centro" para los números.

Comentarios

Cualquier columna puede tener una alineación diferente a la de otras columnas. La propiedad ColAlignment afecta a todas las celdas de la columna especificada, incluidas aquellas de las filas fijas.

Para establecer alineaciones de celda individuales, utilice la propiedad CellAlignment. Para establecer las alineaciones de columna en tiempo de diseño, utilice la propiedad FormatString.

Si el control MSHFlexGrid se encuentra en modo vertical, el valor ColAlignment(3) puede afectar las columnas presentes en bandas múltiples.


Ejemplo de la propiedad ColAlignment (MSHFlexGrid)

El código siguiente establece la alineación de la tercera columna a la derecha centro con el valor de la constante.

Nota Si está utilizando el control MSFlexGrid, sustituya "MSHFlexGrid1" con "MSFlexGrid1."

Sub Form1_Load ()
   MSHFlexGrid1.ColAlignment(3) =flexAlignRightCenter
End Sub


ColData, RowData, BandData (Propiedades, control MSHFlexGrid)

Devuelve o establece un valor de tipo Long arbitrario asociado con cada fila, columna y banda. Estas propiedades no están disponibles en tiempo de diseño.

Sintaxis

objeto.ColData(number) [=valor]
objeto.RowData(number) [=valor]
objeto.BandData(number) [=valor]

La sintaxis de las propiedades ColData, RowData y BanData tienen las siguientes partes:

Parte | Descripción
objeto | Expresión de objeto que da como resultado un objeto de la lista Se aplica a.
number | Un valor de tipo Long que especifica el número de la columna, fila o banda del control MSHFlexGrid donde desea guardar o recuperar los datos.
valor | Un valor de tipo Long que especifica los contenidos de las matrices ColData, RowData o BandaData.

Comentarios

Utilice las propiedades RowData, ColData y BandData para asociar un número específico con cada fila o columna de un control MSHFlexGrid. Una vez que estos números se han asociado con cada fila, columna o banda, puede usar estos números en el código para identificar los elementos.

Por ejemplo, puede agregar filas con totales a un control MSHFlexGrid e identificar esas filas mediante el establecimiento de la propiedad RowData a un valor distinto de cero. Para actualizar los totales más tarde, puede eliminar los totales antiguos, si explora la matriz RowData y elimina las filas apropiadas.

Otro uso típico de la propiedad RowData es almacenar un índice en una matriz de estructuras de datos asociada con los elementos descritos en cada fila.


ColHeaderCaption Property (MSHFlexGrid)

Especifica el título mostrado en el encabezado de la columna y banda que se especifican.

Sintaxis

objeto.ColHeaderCaption(number, index) [=cadena]

La sintaxis de la propiedad ColHeaderCaption consta de las siguientes partes:

Parte | Descripción
objeto | Una expresión de objeto que da como resultado un objeto de la lista Se aplica a.
number | Un valor de tipo Long que indica la banda que contiene la columna especificada en la que establece un título.
index | Un valor de tipo Long que indica la columna especificada.
cadena | Una expresión de cadena que especifica uno de los tipos de fuentes disponibles.


ColHeader (Propiedad, MSHFlexGrid)

Especifica si se deben mostrar los encabezados de la banda especificada.

Sintaxis

objeto.ColHeader(value)

La sintaxis de la propiedad ColHeader consta de las siguientes partes:

Parte | Descripción
objeto | Una expresión de objeto que da como resultado un objeto de la lista Se aplica a.
valor | Opcional. Un valor de tipo Long que especifica si la banda que contiene a los encabezados se debe mostrar u ocultar, como se describe en Valores.

Valores

Los valores admitidos para value son:

Valores | Valor | Descripción
flexColHeaderOn | 0 | Se muestran los encabezados correspondientes a cada banda
flexColHeaderOff | 1 | No se muestran los encabezados de la banda.
flexColHeaderOnce | 2 | Se muestran los encabezados de la banda. Si la banda está contraída, se muestra tan sólo un encabezado. No se muestran los encabezados duplicados.


ColIsVisible (Propiedad)

Devuelve o establece un valor que indica si una columna determinada es visible en la actualidad.

Sintaxis

objeto.ColIsVisible(index) [=booleano]

La sintaxis de la propiedad ColIsVisible consta de las siguientes partes:

Parte | Descripción
objeto | Expresión de objeto que da como resultado un objeto de la lista Se aplica a.
index | Un valor de tipo Long que especifica la columna.
booleano | Una expresión booleana que especifica si la columna especificada es visible o no.

Valores devueltos

Los valores devueltos para booleano son:

Valores | Descripción
True | Predeterminado. La columna especificada es visible.
False | La columna especificada no es visible.


ColPosition, RowPosition (Propiedades)

  • ColPosition establece la posición de una columna del control MSHFlexGrid, lo que permite mover las columnas a posiciones específicas.

  • RowPosition establece la posición de una fila del control MSHFlexGrid, lo que permite mover las filas a posiciones específicas.

Sintaxis

objeto.ColPosition(índice, número) [= valor]
objeto.RowPosition(número) [=valor]

Nota La anterior sintaxis de ColPosition no puede usarse en un control MSFlexGrid debido a las limitaciones de este control. Si utiliza MSFlexGrid, emplee la sintaxis: objeto.ColPosition(número) [= valor]

La sintaxis de las propiedades ColPosition y RowPosition consta de las siguientes partes:

Parte | Descripción
objeto | Una expresión de objeto que da como resultado un objeto de la lista Se aplica a.
índice Un valor de tipo Long que especifica la columna que desea mover.

Nota No se aplica al control MSFlexGrid.
número Un valor de tipo Long que especifica la banda que contiene la columna que desea mover. Opcional.

Nota En el control MSFlexGrid, indica el número de columnas o de filas que es posible mover.
valor | Entero. Una expresión numérica que especifica la nueva posición de la columna o de la fila.

Comentarios

Cuando no se especifica BandNumber en el control MSHFlexGrid, el valor predeterminado es 0. Por tanto, cuando la cuadrícula no se enlazó con un recordset jerárquico, se consigue el mismo resultado al especificar 0 en BandNumber o al no especificar BandNumber. Observe que BandNumber es un parámetro opcional para proporcionar compatibilidad con versiones anteriores del control MSFlexGrid.

El índice y el valor deben corresponder a números de fila y columna válidos (en el intervalo de 0 a Rows –1 o Cols –1); de lo contrario, ocurre un error.

Cuando se mueve una fila o una columna mediante las propiedades RowPosition y ColPosition, toda la información de formato se mueve con ellas. Esto incluye las propiedades de ancho, alto, alineación, colores y fuentes. Para mover sólo el texto, utilice la propiedad Clip.


Ejemplo de la propiedad ColPosition

Cuando se ha implementado el código siguiente, causa que una columna se mueva a la primera posición (la columna más a la izquierda) cuando el usuario hace clic en la columna.

Nota Si utiliza el control MSFlexGrid, sustituya "MSHFlexGrid1" por "MSFlexGrid1".

Sub MSHFlexGrid1_Click ()
   MSHFlexGrid1.ColPosition(MSFlexGrid1.MouseCol) = 0
End Sub


Col, Row (Propiedades, control MSHFlexGrid)

Devuelve o establece las coordenadas de la celda actual en un control MSHFlexGrid. Esta propiedad no está disponible en tiempo de diseño.

Sintaxis

objeto.Col [= número]
objeto.Row [= número]

La sintaxis de las propiedades Col, Row consta de las siguientes partes:

Parte | Descripción
objeto | Expresión de objeto que da como resultado un objeto de la lista Se aplica a.
número | Un valor de tipo Long que indica la posición de la celda activa.

Comentarios

Utilice estas propiedades para especificar una celda en un control MSHFlexGrid o para averiguar qué fila o columna contiene a la celda actual. Las columnas y filas se numeran desde cero, comenzando por arriba para las filas y por la izquierda para las columnas.

Al establecer estas propiedades se restablecen automáticamente RowSel y ColSel, de forma que la selección se convierte en la celda actual. Por tanto, para especificar una selección de bloque, debe establecer primero Row y Col, y después RowSel y ColSel.

El valor de la celda actual, definida mediante los valores de Col y Row, es el texto contenido en esa celda. Para modificar el valor de una celda sin cambiar las propiedades Row y Col seleccionadas, utilice la propiedad TextMatrix.


Ejemplo de las propiedades Col, Row y Text, control MSHFlexGrid

En este ejemplo se escribe "Aquí" en la celda actual, cambia la celda actual a la tercera celda de la tercera fila y se escribe "Allí" en esa celda. Para ejecutar el programa haga clic en F5, después haga clic en la cuadrícula.

Nota Si está utilizando el control MSFlexGrid, sustituya "MSHFlexGrid1" con "MSFlexGrid1."

Private Sub Form_Load ()
   MSHFlexGrid1.Rows = 8
   MSHFlexGrid1.Cols = 5
End Sub

Private Sub MSHFlexGrid1_Click ()
   ' Escribe texto en la celda actual.
   MSHFlexGrid1.Text = "Aquí"
    '   Escribe texto en la tercera fila, tercera columna.
   MSHFlexGrid1.Col = 2
   MSHFlexGrid1.Row = 2
   MSHFlexGrid1.Text = "Allí"
End Sub


ColSel, RowSel (Propiedades)

  • ColSel devuelve o establece la columna de inicio o de fin de un intervalo de celdas.

  • RowSel devuelve o establece la fila de inicio o de fin de un intervalo de celdas.

Estas propiedades no están disponibles en tiempo de diseño.

Sintaxis

objeto.ColSel [= valor]
objeto.RowSel [=valor]

La sintaxis de las propiedades ColSel y RowSel consta de las siguientes partes:

Parte | Descripción
objeto | Una expresión de objeto que da como resultado un objeto de la lista Se aplica a.
valor | Un valor de tipo Long que especifica la fila o la columna de inicio o de fin de un intervalo de celdas.

Comentarios

Puede usar estas propiedades para seleccionar por programa una región específica del control MSHFlexGrid o para leer desde el código las dimensiones de un área seleccionada por el usuario.

El cursor del control MSHFlexGrid está en la celda indicada por las propiedades Row, Col. La selección del control MSHFlexGrid es la región comprendida entre las filas Row y RowSel y las columnas Col y ColSel. Observe que RowSel puede estar encima o debajo de Row y que ColSel puede estar a la izquierda o a la derecha de Col.

Cada vez que establece las propiedades Row y Col, se restablecen los valores de RowSel y ColSel de forma que el cursor pasa a ser la selección actual. Para seleccionar un bloque de celdas desde el código, debe establecer primero las propiedades Row y Col y, a continuación, las propiedades RowSel y ColSel.


Ejemplo de la propiedad ColSel

El código siguiente devuelve el valor de la propiedad ColSel en la primera celda del control MSHFlexGrid1. Este valor cambia a medida que el usuario hace clic en varias selecciones de grupos de celdas.

Nota Si utiliza el control MSFlexGrid, sustituya "MSHFlexGrid1" por "MSFlexGrid1".

Private Sub MSHFlexGrid1_MouseUp _
(Button As Integer, Shift As Integer, x As Single, _
y As Single)
   MSHFlexGrid1.Text = MSHFlexGrid1.ColSel
End Sub


ColPos (Propiedad)

Devuelve la distancia en twips entre la esquina superior izquierda del control y la esquina superior izquierda de una columna especificada.

Sintaxis

objeto.ColPos(índice)

La sintaxis de la propiedad ColPos consta de las siguientes partes:

Parte | Descripción
objeto | Una expresión de objeto que da como resultado un objeto de la lista Se aplica a.
índice | Un valor de tipo Long que especifica la columna.


Cols, Rows (Propiedades, control MSHFlexGrid)

  • Cols devuelve o establece el número total de columnas de un control MSHFlexGrid.

  • Rows devuelve o establece el número total de filas de un control MSHFlexGrid. La propiedad Rows también devuelve o establece el número total de columnas en cada banda del control MSHFlexGrid.

    Nota El control MSFlexGrid no contiene ninguna banda. Si está utilizando la propiedad Rows del control MSFlexGrid en el código, sólo puede devolver o establecer el número total de columnas o de filas. Asimismo, la siguiente sintaxis de la propiedad Rows no puede usarse en un control MSFlexGrid debido a las limitaciones de este control. Si utiliza MSFlexGrid, emplee la sintaxis: objeto.Rows [= valor].

Sintaxis

objeto.Cols [= valor]
objeto.Rows(número) [= valor]

La sintaxis de las propiedades Cols y Rows consta de las siguientes partes:

Parte | Descripción
objeto | Una expresión de objeto que da como resultado un objeto de la lista Se aplica a.
número Un valor de tipo Long que especifica la banda que desea obtener o establece el número total de columnas. Opcional.

Nota No se aplica al control MSFlexGrid.
valor | Un valor de tipo Long que especifica el número de columnas o de filas.

Comentarios

Utilice estas propiedades para expandir y contraer el control MSHFlexGrid dinámicamente en tiempo de ejecución.

El número de filas y de columnas mínimo es 0. El número máximo está limitado por la cantidad de memoria disponible en el equipo.

El valor de la propiedad Cols debe ser como mínimo uno más que el valor de la propiedad FixedCols, excepto cuando ambas propiedades están establecidas en cero. El valor de la propiedad Rows debe ser como mínimo uno más que el valor de FixedRows, excepto cuando ambas propiedades están establecidas en cero.

Cuando no se especifica número, el valor predeterminado es 0. Por tanto, si el control MSHFlexGrid no se enlazó con un conjunto de registros jerárquico, se consigue el mismo resultado al especificar 0 o al no especificar número. Tenga en cuenta que número es un parámetro opcional para proporcionar compatibilidad con versiones anteriores del control MSFlexGrid.


Ejemplo de las propiedades Cols y Rows (Control MSHFlexGrid)

El ejemplo siguiente coloca la palabra "Aquí" en la celda actual, cambia la celda activa a la tercera celda de la tercera fila y escribe "Allí" en ella. Para ejecutar el programa, presione F5 y haga clic en el control MSHFlexGrid.

Nota Si utiliza el control MSFlexGrid, sustituya "MSHFlexGrid1" por "MSFlexGrid1".

Private Sub Form_Load ()
   MSHFlexGrid1.Rows = 8
   MSHFlexGrid1.Cols = 5
End Sub

Private Sub MsFlexGrid1_Click ()
   ' Escribe texto en la celda actual.
   MSHFlexGrid1.Text = "Aquí"
    ' Escribe texto en la tercera columna, tercera fila.
   MSHFlexGrid1.Col = 2
   MSHFlexGrid1.Row = 2
   MSHFlexGrid1.Text = "Allí"
End Sub


ColWidth (Propiedad, control MSHFlexGrid)

Devuelve o establece el ancho de la columna en la banda especificada, en twips. Esta propiedad no está disponible en tiempo de diseño.

Nota Cuando utiliza el control MSFlexGrid, esta propiedad devuelve o establece el ancho de la columna especificada, en twips. Asimismo, la siguiente sintaxis de ColWidth no puede usarse en un control MSFlexGrid debido a las limitaciones de este control. Si utiliza el control MSFlexGrid, emplee la sintaxis: objeto.ColWidth(número) [= valor]

Sintaxis

objeto.ColWidth(índice, número) [= valor]

La sintaxis de la propiedad ColWidth consta de las siguientes partes:

Parte | Descripción
objeto | Una expresión de objeto que da como resultado un objeto de la lista Se aplica a.
índice Un valor de tipo Long que especifica qué ancho de columna debe cambiar.

Nota No se aplica al control MSFlexGrid.
número Un valor de tipo Long que especifica la banda que contiene la columna. Opcional.

Nota En el control MSFlexGrid, se trata de una expresión numérica que especifica la columna.
valor | Una expresión numérica que especifica el ancho de la columna especificada, en twips.

Comentarios

Puede usar esta propiedad para establecer el ancho de cualquier columna en tiempo de ejecución. Para obtener instrucciones acerca de cómo puede establecer anchos de columna en tiempo de diseño, vea la propiedad FormatString.

Puede establecer la propiedad ColWidth en cero para crear columnas invisibles o en–1 para restablecer el ancho de columna con el valor predeterminado, que depende del tamaño de la fuente actual.

Cuando no se especifica número, el valor predeterminado es 0. Por tanto, si el control MSHFlexGrid no se enlazó con un conjunto de registros jerárquico, se consigue el mismo resultado al especificar 0 o al no especificar número. Tenga en cuenta que número es un parámetro opcional para proporcionar compatibilidad con versiones anteriores del control MSFlexGrid.


Ejemplo de la propiedad ColWidth

El código siguiente establece el valor del tamaño de la primera columna. Si la propiedad AllowUserResizing es True, el valor cambia a medida que el usuario cambia el tamaño de la Columna 1.

Nota Si utiliza el control MSFlexGrid, sustituya "MSHFlexGrid1" por "MSFlexGrid1".

Sub Form1_Load()
   MSHFlexGrid1.AllowUserResizing = True
End Sub

Sub MSHFlexGrid1_MouseUp (Button As Integer, Shift As _
Integer, X As Single, Y As Single)
   MSHFlexGrid1.Text = MSHFlexGrid1.ColWidth(0)
End Sub


DataField (Propiedad, control MSHFlexGrid)

Devuelve el nombre del campo enlazado a la columna especificada en la banda especificada. La propiedad es de sólo lectura.

Sintaxis

objeto.DataField(número, índice) [=cadena]

La sintaxis de la propiedad DataField consta de las siguientes partes:

Parte | Descripción
objeto | Una expresión de objeto que da como resultado un objeto de la lista Se aplica a.
número | Un valor de tipo Long que especifica la banda que contiene la columna en que se aplica.
índice | Un valor de tipo Long que especifica la columna que desea obtener o establece el campo de enlace.
cadena | Una expresión de cadena que da como resultado el nombre de uno de los campos del objeto Recordset especificado por el proveedor de datos.

Comentarios

Cuando número no se especifica, el valor predeterminado es 0. Por consiguiente, si el control MSHFlexGrid no se enlazó con un conjunto de registros jerárquico, se consigue el mismo resultado al especificar 0 o al no especificar número.

Si el control MSHFlexGrid no se enlazó y tanto número como índice son válidos, DataField devuelve una cadena vacía.

Si se ejecuta un comando Refresh después de cambiar la propiedad DataProvider, el objeto Recordset puede tener campos diferentes. En este caso, los valores de la propiedad DataField de las columnas enlazadas pueden no ser válidos y causar un error que se puede interceptar.


FillStyle (Propiedad, control MSHFlexGrid)

Devuelve o establece un valor que determina si al establecer la propiedad Text o una de las propiedades de formato de celda, se aplicarán los cambios a todas las celdas seleccionadas del control MSHFlexGrid.

Sintaxis

objeto.FillStyle [= valor]

La sintaxis de la propiedad FillStyle consta de las siguientes partes:

Parte | Descripción
objeto | Una expresión de objeto que da como resultado un objeto de la lista Se aplica a.
valor | Un entero o constante que indica el estilo de relleno, como se describe en Valores.

Valores

Los valores admitidos para valor son:

Constante | Valor | Descripción
flexFillSingle | 0 | Único. El cambio de la propiedad Text o de cualquiera de las propiedades de la celda sólo afecta a la celda activa. Es el valor predeterminado.
flexFillRepeat | 1 | Repetir. El cambio de la propiedad Text o de cualquiera de las propiedades de la celda afecta a todas las celdas seleccionadas.

Comentarios

Esta propiedad debe tener el valor 1 (Repetir) si desea que el cambio en la celda se aplique a todas las celdas del control MSHFlexGrid.


Ejemplo de la propiedad FillStyle (Control MSHFlexGrid)

El código siguiente permite aplicar un formato diferente a celdas individuales.

Nota Si utiliza el control MSFlexGrid, sustituya "MSHFlexGrid1" por "MSFlexGrid1".

Sub Form1_Load ()
   MSHFlexGrid1.FillStyle = 0
End Sub


ColAlignmentFixed (Propiedad)

Devuelve o establece la alineación de los datos en las celdas fijas de una columna en un control MSHFlexGrid.

Sintaxis

objeto.ColAlignmentFixed(Index) [=valor]

La sintaxis de la propiedad ColAlignmentFixed consta de las siguientes partes:

Parte | Descripción
objeto | Una expresión de objeto que da como resultado un objeto de la lista Se aplica a.
Index | Un valor de tipo Long que especifica la columna.
valor | Un entero que determina la alineación de los datos en las celdas fijas, como se describe en Valores.

Valores

Los valores admitidos para valor son:

Constante | Valor | Descripción
flexAlignLeftTop | 0 | El contenido de la celda se alinea a la izquierda, arriba.
flexAlignLeftCenter | 1 | El contenido de la celda se alinea a la izquierda, centro.
flexAlignLeftBottom | 2 | El contenido de la celda se alinea a la izquierda, abajo.
flexAlignCenterTop | 3 | El contenido de la celda se alinea al centro y arriba.
flexAlignCenterCenter | 4 | El contenido de la celda se alinea al centro, centro.
flexAlignCenterBottom | 5 | El contenido de la celda se alinea al centro, abajo.
flexAlignRightTop | 6 | El contenido de la celda se alinea a la derecha, arriba.
flexAlignRightCenter | 7 | El contenido de la celda se alinea a la derecha, centro.
flexAlignRightBottom | 8 | El contenido de la celda se alinea a la derecha, abajo.

Comentarios

Puede usar las propiedades FixedCols y FixedRows para definir las celdas de una columna.


FixedCols, FixedRows (Propiedades, control MSHFlexGrid)

  • FixedCols devuelve o establece el número total de columnas fijas de un control MSHFlexGrid.

  • FixedRows devuelve o establece el número total de filas fijas de un control MSHFlexGrid.

De forma predeterminada, el control MSHFlexGrid tiene una columna fija y una fila fija.

Sintaxis

objeto.FixedCols [= valor]
objeto.FixedRows [= valor]

La sintaxis de las propiedades FixedCols y FixedRows consta de las siguientes partes:

Parte | Descripción
objeto | Una expresión de objeto que da como resultado un objeto de la lista Se aplica a.
valor | Un valor de tipo Long que especifica el número total de columnas fijas o de filas fijas.

Comentarios

Las columnas y las filas fijas no se mueven cuando desplaza otras columnas o filas del control MSHFlexGrid. Es posible especificar cero o más columnas fijas o filas fijas. Asimismo, puede seleccionar los colores, la fuente, las líneas de la cuadrícula y el estilo de texto de las columnas y filas fijas.

Si el valor de la propiedad SelectionMode es numérico, cuando selecciona una fila o una columna fija en tiempo de ejecución también selecciona todas las celdas de dicha fila o columna.

Si la propiedad AllowUserResizing tiene un valor numérico, puede cambiar el tamaño de las filas o columnas fijas en tiempo de ejecución.

Las columnas y filas fijas se utilizan en aplicaciones de hoja de cálculo para mostrar los números de fila y los nombres o letras de columna.


FocusRect (Propiedad)

Devuelve o establece un valor que determina si el control MSHFlexGrid debe dibujar un rectángulo de enfoque alrededor de la celda actual.

Sintaxis

objeto.FocusRect [=valor]

La sintaxis de la propiedad FocusRect consta de las siguientes partes:

Parte | Descripción
objeto | Una expresión de objeto que da como resultado un objeto de la lista Se aplica a.
valor | Un entero o constante que especifica el estilo del rectángulo de enfoque, como se describe en Valores.

Valores

Los valores admitidos para valor son:

Constante | Valor | Descripción
flexFocusNone | 0 | No hay rectángulo de enfoque alrededor de la celda actual.
flexFocusLight | 1 | Hay un rectángulo de enfoque suave alrededor de la celda actual. Es el valor predeterminado.
flexFocusHeavy | 2 | Hay un rectángulo de enfoque muy marcado alrededor de la celda actual.

Comentarios

Si se dibuja un rectángulo de enfoque, la celda actual se dibuja en el color de fondo, como ocurre en la mayoría de las hojas de cálculo y cuadrículas. De lo contrario, la celda actual se pinta con el color de selección, de forma que puede ver cuál es la celda seleccionada incluso sin el rectángulo de enfoque.


Font, FontBand, FontFixed, FontHeader (Propiedades, control MSHFlexGrid)

  • Font devuelve o establece el valor de la fuente predeterminada o de la fuente de celdas individuales.

  • FontBand devuelve o establece la fuente del texto de la banda.

  • FontFixed devuelve o establece la fuente del texto de las celdas fijas.

  • FontHeader devuelve o establece la fuente del texto del encabezado.

Sintaxis

objeto.Font
objeto.FontBand
objeto.FontFixed
objeto.FontHeader

El marcador de posición objeto representa una expresión de objeto que da como resultado un objeto de la lista Se aplica a.


FontWidth, FontWidthBand, FontWidthFixed, FontWidthHeader (Propiedades, control MSHFlexGrid)

Estas propiedades devuelven o establecen el ancho en puntos de la fuente que se usará para mostrar el texto en un control MSHFlexGrid o en el área de banda, de columna fija, de fila fija o de encabezado.

Sintaxis

objeto.FontWidth [= valor]
objeto.FontWidthBand [= valor]
objeto.FontWidthFixed [= valor]
objeto.FontWidthHeader [= valor]

La sintaxis de las propiedades FontWidth, FontWidthBand, FontWidthFixed y FontWidthHeader tiene las siguientes partes:

Parte | Descripción
objeto | Una expresión de objeto que da como resultado un objeto de la lista Se aplica a.
valor | Único. Una expresión numérica que especifica el ancho de punto deseado para la fuente actual.

Comentarios

Normalmente Windows elige un ancho de fuente que coincida con el alto de la fuente seleccionada para proporcionar una apariencia estándar. No obstante, el control MSHFlexGrid permite especificar fuentes más anchas o estrechas que la fuente predeterminada. Esto permite mostrar más cantidad de información en una celda o destacar una celda.

Cuando especifica un ancho de fuente, Windows intentará seleccionar o generar una fuente que coincida con la solicitada. Para obtener mejores resultados, utilice fuentes TrueType.

Establezca en cero esta propiedad para restaurar el ancho predeterminado de la fuente.

Para establecer la fuente de celdas individuales o de intervalos de celdas, utilice las propiedades CellFontBold, CellFontItalic, CellFontName, CellFontSize y CellFontWidth.


ForeColor, ForeColorBand, ForeColorFixed, ForeColorHeader, ForeColorSel (Propiedades)

Estas propiedades devuelven o establecen los colores que se utilizan para colorear texto en cada una de las partes del control MSHFlexGrid.

Sintaxis

objeto.ForeColor [= color]
objeto.ForeColorBand [= color]
objeto.ForeColorFixed [= color]
objeto.ForeColorHeader [= color]
objeto.ForeColorSel [= color]

La sintaxis de las propiedades ForeColor, ForeColorBand, ForeColorFixed, ForeColorHeader y ForeColorSel tiene las siguientes partes:

Parte | Descripción
objeto | Una expresión de objeto que da como resultado un objeto de la lista Se aplica a.
color | Un valor o constante que determina el color que se utiliza para colorear el texto de las áreas desplazables, fijas, de banda o de encabezado del control MSHFlexGrid.

Comentarios

La imagen siguiente muestra a qué parte del control MSHFlexGrid hacen referencia las propiedades:

Utilice la propiedad ForeColor para establecer el color de texto de todas las celdas que no son fijas.

Utilice la propiedad CellForeColor para establecer el color del texto de celdas individuales.


Ejemplo de las propiedades ForeColor, ForeColorFixed, ForeColorSel

Este ejemplo establece las propiedades ForeColorFixed y ForeColorSel del control MSHFlexGrid con colores aleatorios a cada segundo.

Nota Si utiliza el control MSFlexGrid, sustituya "MSHFlexGrid1" por "MSFlexGrid1".

Private Sub Form_Load ()
   Timer1.Interval = 500
   MSHFlexGrid1.FillStyle = 2
   MSHFlexGrid1.Text = "Coloréame"
   MSHFlexGrid1.FixedCols = 1
   MSHFlexGrid1.FixedRows = 1
End Sub

Private Sub Timer1_Timer ()
   MSHFlexGrid1.ForeColorFixed = QBColor(Rnd * 15)
   MSHFlexGrid1.ForeColorSel = QBColor(Rnd * 10)
End Sub


FormatString (Propiedad)

Establece los anchos de columnas, las alineaciones, el texto de las filas fijas y el texto de las columnas fijas del control MSHFlexGrid.

Sintaxis

objeto.FormatString [= cadena]

La sintaxis de la propiedad FormatString consta de las siguientes partes:

Parte | Descripción
objeto | Una expresión de objeto que da como resultado un objeto de la lista Se aplica a.
cadena | Una expresión de cadena para dar formato al texto de filas y columnas, como se describe en Comentarios.

Comentarios

En tiempo de diseño, el control MSHFlexGrid analiza e interpreta la propiedad FormatString para obtener la siguiente información: número de filas y de columnas, texto de los encabezados de fila y de columna, ancho de columna y alineación de columna.

La propiedad FormatString consta de segmentos separados por caracteres de canalización (|). El texto escrito entre dos caracteres de canalización define una columna y puede contener caracteres especiales de alineación que alinean la columna completa a la izquierda (<), al centro (^) o a la derecha (>). Asimismo, el texto se asigna a la fila cero de forma predeterminada y el ancho del texto define el ancho de cada columna.

La propiedad FormatString puede contener un punto y coma (;). Esto hace que el resto de la cadena se interprete como información de encabezado y del ancho de fila. Asimismo, el texto se asigna a la columna cero de forma predeterminada y la cadena más larga define el ancho de la columna cero.

El control MSHFlexGrid crea filas y columnas adicionales para acomodar todos los campos definidos mediante la propiedad FormatString. Las filas y las columnas adicionales no se eliminan si sólo se especifican unos pocos campos. Para quitar filas y columnas adicionales, establezca las propiedades Rows y Cols.


Ejemplo de la propiedad FormatString

Los ejemplos siguientes ilustran cómo funciona la propiedad FormatString.

Nota Si utiliza el control MSFlexGrid, sustituya "MSHFlexGrid1" por "MSFlexGrid1".

' Establece los encabezados de columna.
s$ = "<Región |<Producto |<Empleado |>Ventas "
MSHFlexGrid1.FormatString = s$

' Establece los encabezados de fila (observe el punto y coma inicial).
s$ = ";Nombre|Dirección|Teléfono|Nº seguridad social"
MSHFlexGrid1.FormatString = s$

' Establece los encabezados de columna y de fila.
s$ = "|Nombre|Dirección|Teléfono|Nº seguridad social"
s$ = s$ + ";|Robert|Jimmy|Bonzo|John Paul"
MSHFlexGrid.FormatString = s$


GridColor, GridColorBand, GridColorFixed, GridColorHeader, GridColorIndent, GridColorUnpopulated (Propiedades)

Estas propiedades devuelven o establecen el color que se utiliza para dibujar las líneas entre las celdas, las bandas, los encabezados o las áreas sin llenar del control MSHFlexGrid.

Nota Si utiliza MSFlexGrid, sólo están disponibles las propiedades GridColor y GridColorFixed.

Sintaxis

objeto.GridColor [= color]
objeto.GridColorBand [= color]
objeto.GridColorFixed [= color]
objeto.GridColorHeader [= color]
objeto.GridColorIndent [= color]
objeto.GridColorUnpopulated [= color]

La sintaxis de las propiedades GridColor, GridColorBand, GridColorFixed, GridColorHeader, GridColorIndent y GridColorUnpopulated tiene las siguientes partes:

Parte | Descripción
objeto | Una expresión de objeto que da como resultado un objeto de la lista Se aplica a.
color | Un valor o constante que determina el color que se utiliza para colorear las líneas de cuadrícula en las áreas desplazables o fijas del control MSFlexGrid.

Comentarios

La propiedad GridColor sólo se utiliza cuando la propiedad GridLines tiene el valor 1 (Líneas).

La propiedad GridColorFixed sólo se utiliza cuando la propiedad GridLinesFixed tiene el valor 1 (Líneas).

Las líneas de cuadrícula en relieve e incrustadas se colorean siempre en blanco y negro.


GridLines, GridLinesBand, GridLinesFixed, GridLinesHeader, GridLinesIndent, GridLinesUnpopulated (Propiedades, control MSHFlexGrid)

Estas propiedades devuelven o establecen un valor que determina qué tipo de líneas se debe dibujar entre las celdas, bandas, encabezados, sangrías o áreas sin llenar. Estas propiedades determinan también el tipo de líneas que se dibujan en el control MSHFlexGrid.

Nota Si utiliza el control MSFlexGrid sólo están disponibles las propiedades GridLines y GridLinesFixed.

Sintaxis

objeto.Gridlines [= valor]
objeto.GridLinesBand [= valor]
objeto.GridLinesFixed [= valor]
objeto.GridLinesHeader [= valor]
objeto.GridLinesIndent [= valor]
objeto.GridLinesUnpopulated [= valor]

La sintaxis de las propiedades GridLines, GridLinesBand, GridLinesFixed, GridLinesHeader, GridLinesIndent y GridLinesUnpopulated tiene las siguientes partes:

Parte | Descripción
objeto | Una expresión de objeto que da como resultado un objeto de la lista Se aplica a.
valor | Un entero o constante que especifica el tipo de líneas dibujadas, como se describe en Valores.

Valores

Los valores admitidos para valor son:

Constante | Valor | Descripción
flexGridNone | 0 | No se dibujan líneas entre las celdas. En el control MSFlexGrid, éste es el valor predeterminado de la propiedad GridLines.
flexGridFlat | 1 | Establece el estilo de línea entre las celdas con líneas normales, planas. En el control MSHFlexGrid, éste es el valor predeterminado de la propiedad GridLines.
flexGridInset | 2 | Establece el estilo de línea entre las celdas con líneas incrustadas. En el control MSFlexGrid, éste es el valor predeterminado de la propiedad GridLinesFixed.
flexGridRaised | 3 | Establece el estilo de línea entre las celdas con líneas en relieve. En el control MSHFlexGrid, éste es el valor predeterminado de la propiedad GridLinesFixed.

Comentarios

Cuando la propiedad GridLines tiene el valor 1 (Líneas), la propiedad GridColor determina el color de las líneas.

Las líneas en relieve e incrustadas siempre se dibujan en blanco y negro.


GridLineWidth, GridLineWidthBand, GridLineWidthFixed, GridLineWidthHeader, GridLineWidthIndent, GridLineWidthUnpopulated (Propiedades, control MSHFlexGrid)

Estas propiedades devuelven o establecen el ancho en píxeles de las líneas mostradas entre celdas, bandas, encabezados, sangrías o áreas sin llenar.

Nota En el control MSFlexGrid sólo está disponible la propiedad GridLineWidth.

Sintaxis

objeto.GridLineWidth [= valor]
objeto.GridLineWidthBand [= valor]
objeto.GridLineWidthFixed [= valor]
objeto.GridLineWidthHeader [= valor]
objeto.GridLineWidthIndent [= valor]
objeto.GridLineWidthUnpopulated [= valor]

La sintaxis de las propiedades GridLineWidth, GridLineWidthBand, GridLineWidthFixed, GridLineWidthHeader, GridLineWidthIndent y GridLineWidthUnpopulated tiene las siguientes partes:

Parte | Descripción
objeto | Una expresión de objeto que da como resultado un objeto de la lista Se aplica a.
valor | Una expresión numérica que especifica, en píxeles, el ancho deseado de la línea actual.


HighLight (Propiedad, control MSHFlexGrid)

Determina si las celdas seleccionadas aparecen resaltadas en el control MSHFlexGrid.

Sintaxis

objeto.HighLight [= valor]

La sintaxis de la propiedad HighLight consta de las siguientes partes:

Parte | Descripción
objeto | Una expresión de objeto que da como resultado un objeto de la lista Se aplica a.
valor | Un entero o constante que especifica cuándo el control MSHFlexGrid debe resaltar las celdas seleccionadas, como se describe en Valores.

Valores

Los valores admitidos para valor son:

Constante | Valor | Descripción
flexHighlightNever | 0 | No resalta nunca las celdas seleccionadas.
flexHighlightAlways | 1 | Resalta siempre las celdas seleccionadas. (Predeterminado)
flexHighlightWithFocus | 2 | Resalta las celdas seleccionadas cuando el control tiene el enfoque.

Comentarios

Cuando se establece esta propiedad en cero y el usuario selecciona un intervalo de celdas, no hay ninguna clave visual que indique qué celdas están seleccionadas.


LeftCol (Propiedad, control MSHFlexGrid)

Devuelve o establece la columna no fija visible más a la izquierda en el control MSHFlexGrid. Esta propiedad no está disponible en tiempo de diseño.

Sintaxis

objeto.LeftCol [= valor]

La sintaxis de la propiedad LeftCol consta de las siguientes partes:

Parte | Descripción
objeto | Una expresión de objeto que da como resultado un objeto de la lista Se aplica a.
valor | Un entero que especifica la columna más a la izquierda.

Comentarios

Es posible usar esta propiedad desde el código para desplazarse en el control MSHFlexGrid. Utilice la propiedad TopRow para determinar la fila visible que está más arriba en el control MSHFlexGrid.


MergeCells (Propiedad)

Devuelve o establece un valor que determina si las celdas con el mismo contenido deben agruparse en una celda única que abarca múltiples filas o columnas.

Sintaxis

objeto.MergeCells [=valor]

La sintaxis de la propiedad MergeCells consta de las siguientes partes:

Parte | Descripción
objeto | Una expresión de objeto que da como resultado un objeto de la lista Se aplica a.
valor | Un entero o constante que especifica la agrupación (combinación) de celdas, como se especifica en Valores.

Valores

Los valores admitidos para valor son:

Constante | Valor | Descripción
flexMergeNever | 0 | Nunca. Las celdas con el mismo contenido no se agrupan. Es el valor predeterminado.
flexMergeFree | 1 | Libre. Las celdas con el mismo contenido siempre se combinan.
flexMergeRestrictRows | 2 | Restringir filas. Sólo se combinan las celdas adyacentes de la fila (a la izquierda de la celda actual) que tengan el mismo contenido.
flexMergeRestrictColumns | 3 | Restringir columnas. Sólo se combinan las celdas adyacentes de la columna (de la parte superior de la celda actual) que tengan el mismo contenido.
flexMergeRestrictBoth | 4 | Restringir ambas. Sólo se combinan las celdas adyacentes de la fila (a la izquierda) o de la columna (arriba) que tengan contenido idéntico.

Comentarios

La posibilidad de combinar celdas permite presentar los datos de una forma clara y atractiva. La combinación de celdas puede usarse con las funciones de ordenación de columnas del control MSHFlexGrid.

Para usar las capacidades de combinación de celdas del control MSHFlexGrid:

  • Establezca la propiedad MergeCells en un valor distinto de cero. (El ejemplo explica las diferencias entre los valores.)

  • Establezca en True las propiedades de matriz MergeRow y MergeCol correspondientes a las filas y columnas que desee combinar.

Cuando utilice las capacidades de combinación de celdas, el control MSHFlexGrid combinará las celdas que tengan el mismo contenido. La combinación se actualiza automáticamente cada vez que el contenido de la celda cambie.

Cuando se establece el valor de MergeCells en un valor distinto de cero (Nunca), el resalte de la selección se desactiva automáticamente. Esto se hace principalmente para volver a colorear más rápidamente y porque la selección de intervalos con celdas combinadas puede conducir a resultados inesperados.


Ejemplo de la propiedad MergeCells

El ejemplo siguiente muestra los fundamentos de la propiedad MergeCells.

Sin combinación
MergeCells =0
MergeRow(0) =True
MergeRow(1) =True
MergeRow(2) =True
MergeRow(3) =False

Ésta es la vista normal.
Combinación libre
MergeCells =1
MergeRow(0) =True
MergeRow(1) =True
MergeRow(2) =True
MergeRow(3) =False

Observe que la tercera celda de empleados (Donna) combina los productos a su izquierda y las ventas a su derecha.
Combinación restringida
MergeCells =2
MergeRow(0) =True
MergeRow(1) =True
MergeRow(2) =True
MergeRow(3) =False

Observe que la tercera celda de empleados (Donna) ya no combina las ventas.


MergeCol, MergeRow (Propiedades)

Estas propiedades devuelven o establecen un valor que determina qué filas y columnas deben combinar su contenido. Estas propiedades deben ser True para usar la propiedad MergeCells.

Sintaxis

objeto.MergeCol(number) [=booleano]
objeto.MergeRow(number) [=booleano]

La sintaxis de las propiedades MergeCol y MergeRows tiene las siguientes partes:

Parte | Descripción
objeto | Una expresión de objeto que da como resultado un objeto de la lista Se aplica a.
number | Un valor de tipo Long que especifica la columna o la fila del control MSHFlexGrid.
booleano | Un valor de tipo Boolean que especifica si la combinación ocurre cuando celdas adyacentes muestran contenido idéntico.

Valores

Los valores admitidos para booleano son:

Parte | Descripción
True | Cuando las celdas adyacentes muestran un contenido idéntico, las filas se combinan hacia la izquierda y las columnas hacia arriba.
False | Las celdas adyacentes que muestran contenido idéntico no se combinan. Es el valor predeterminado para MergeCol y MergeRow.

Comentarios

Si la propiedad MergeCells se establece en un valor diferente de cero, las celdas adyacentes con valores idénticos sólo se combinan si están en una fila con la propiedad MergeRow establecida en True o si están en una columna con la propiedad MergeCol establecida en True.

Para obtener detalles acerca de la funcionalidad de combinación del control MSHFlexGrid, vea la propiedad MergeCells.


MouseCol, MouseRow (Propiedades)

Estas propiedades devuelven la ubicación actual del mouse (ratón) en coordenadas de fila y columna.

Sintaxis

objeto.MouseCol [=valor]
objeto.MouseRow [=valor]

La sintaxis de las propiedades MouseCol y MouseRow tiene las siguientes partes:

Parte | Descripción
objeto | Una expresión de objeto que da como resultado un objeto de la lista Se aplica a.
valor | Las coordenadas de fila y columna correspondientes a la ubicación actual del mouse.

Comentarios

Utilice estas propiedades para determinar por programa la ubicación del mouse. Estas propiedades permiten mostrar ayuda interactiva acerca del contenido de celdas individuales o comprobar si el usuario ha hecho clic en una fila o columna fijas.


Name (Propiedad, control MSHFlexGrid)

Devuelve o establece el nombre del campo agregado o del campo por el que desea agrupar.

Nota No se aplica al control MSFlexGrid.

Sintaxis

objeto.Name [=cadena]

La sintaxis de la propiedad Name consta de las siguientes partes:

Parte | Descripción
objeto | Una expresión de objeto que da como resultado un objeto de la lista Se aplica a.
cadena | Una expresión de cadena que contiene el nombre del campo agregado o del campo utilizado para agrupar. Para el objeto GroupingField, el valor predeterminado es el nombre del primer campo del objeto Command actual. Para los campos agregados, el valor predeterminado es "Aggregate" seguido de un número que identifica de forma exclusiva el número de campo.

Comentarios

Esta propiedad no puede tener el mismo nombre que el campo donde se creó el campo agregado. Para AggregateOn con agrupación, es el nombre de cualquier campo del objeto Command actual. Para AggregateOn con relación, es el nombre de cualquier campo del objeto Command primario.

El nombre del objeto GroupingField debe ser un nombre de campo que exista en el objeto Command actual.

La propiedad Name de ADO sirve para generar el comando SHAPE.


Picture (Propiedad, control MSHFlexGrid)

Devuelve una imagen del control MSHFlexGrid. Esta imagen es adecuada para imprimir, guardar en disco, copiar al portapapeles o asignarla a un control diferente.

Sintaxis

objeto.Picture [=imagen]

La propiedad Picture consta de las siguientes partes:

Parte | Descripción
objeto | Una expresión de objeto que da como resultado un objeto de la lista Se aplica a.
imagen | Un mapa de bits que muestra el control MSHFlexGrid.

Comentarios

La imagen de mapa de bits es una instantánea del control MSHFlexGrid completo en la ventana Formulario del proyecto. Por tanto, puede llegar a ser muy grande. Existen dos modos de reducir el tamaño de un mapa de bits. Una opción consiste en crear una imagen de una parte del control MSHFlexGrid. Para reducir el tamaño, escriba una rutina para ocultar los elementos que no desea mostrar, obtenga la imagen y restaure el control MSHFlexGrid.

Alternativamente, puede establecer la propiedad PictureType en 1 (Monocromo). Sin embargo, esto no sólo reducirá la cantidad de memoria utilizada, sino también la resolución de la imagen.


Ejemplo de las propiedades ColData, RowData, Picture

El código siguiente muestra cómo interceptar los errores de memoria insuficiente y cambiar automáticamente a modo monocromo mediante la propiedad PictureType. Además, muestra cómo crear una imagen dentro del control MSHFlexGrid que incluye tan sólo la selección actual.

Nota Si utiliza el control MSFlexGrid, sustituya "MSHFlexGrid1" por "MSFlexGrid1".

Sub CopySelectedPictureToClipboard (myFlex As _
MSHFlexGrid)
   Dim i As Integer, tr As Long, lc As Long, _
   hl As Integer
   ' Se prepara para funcionar.
   MyFlex.Redraw =False   ' Para eliminar el parpadeo.
   hl =MyFlex.HighLight   ' Guarda los valores actuales.
   tr =MyFlex.TopRow
   lc =MyFlex.LeftCol
   MyFlex.HighLight =0   ' No se resalta la imagen.
   ' Oculta las filas y columnas no seleccionadas.
   ' (Guarda los tamaños originales en las propiedades
   ' RowData y ColData).
   For i =MyFlex.FixedRows To MyFlex.Rows - 1
      If i < MyFlex.Row Or i > MyFlex.RowSel Then
         MyFlex.RowData(i) =MyFlex.RowHeight(i)
         MyFlex.RowHeight(i) =0
      End If
   Next
   For i =MyFlex.FixedCols To MyFlex.Cols - 1
      If i < MyFlex.Col Or i > MyFlex.ColSel Then
         MyFlex.ColData(i) =MyFlex.ColWidth(i)
         MyFlex.ColWidth(i) =0
      End If
   Next
   ' Se desplaza a la esquina superior izquierda.
   MyFlex.TopRow =MyFlex.FixedRows
   MyFlex.LeftCol =MyFlex.FixedCols
   ' Copia la imagen.
   clipboard.Clear
   On Error Resume Next
   MyFlex.PictureType =0 ' Color.
   clipboard.SetData MyFlex.Picture
   If Error <> 0 Then
      MyFlex.PictureType =1 ' Monocromo.
      clipboard.SetData MyFlex.Picture
   Endif
   ' Restaura el control.
   For i =MyFlex.FixedRows To MyFlex.Rows - 1
      If i < MyFlex.Row Or i > MyFlex.RowSel Then
         MyFlex.RowHeight(i) =MyFlex.RowData(i)
      End If
   Next
   For i =MyFlex.FixedCols To MyFlex.Cols - 1
      If i < MyFlex.Col Or i > MyFlex.ColSel Then
         MyFlex.ColWidth(i) =MyFlex.ColData(i)
      End If
   Next
   MyFlex.TopRow =tr
   MyFlex.LeftCol =lc
   MyFlex.HighLight =hl
   MyFlex.Redraw =True
End Sub

El ejemplo siguiente muestra cómo establecer un control PictureBox con la propiedad Picture del control MSHFlexGrid:

Nota Si utiliza el control MSFlexGrid, sustituya "MSHFlexGrid1" por "MSFlexGrid1".

Private Sub Form_Click ()
   Set Picture1.Picture =MSHFlexGrid1.Picture
End Sub


PictureType (Propiedad)

Devuelve o establece el tipo de imagen que generará la propiedad Picture.

Sintaxis

objeto.PictureType [=tipo]

La sintaxis de la propiedad PictureType consta de las siguientes partes:

Parte | Descripción
objeto | Una expresión de objeto que da como resultado un objeto de la lista Se aplica a.
tipo | Un entero o constante que especifica el tipo de imagen que debe generarse, como se describe en Valores.

Valores

Los valores admitidos para tipo son:

Constante | Valor | Descripción
flexPictureColor | 0 | Esto produce una imagen a todo color de alta calidad.
flexPictureMonochrome | 1 | Esto produce una imagen monocroma de calidad inferior que consume menos cantidad de memoria.


Redraw (Propiedad)

Devuelve o establece un valor que determina si el control MSHFlexGrid debe volver a dibujarse automáticamente después de cada cambio.

Sintaxis

objeto.Redraw [=booleano]

La sintaxis de la propiedad Redraw consta de las siguientes partes:

Parte | Descripción
objeto | Una expresión de objeto que da como resultado un objeto de la lista Se aplica a.
booleano | Una expresión booleana que especifica si el control MSHFlexGrid vuelve a dibujarse automáticamente después de cada cambio.

Valores

Los valores admitidos para booleano son:

Parte | Descripción
True | El control MSHFlexGrid vuelve a dibujarse automáticamente después de cada cambio. Es el valor predeterminado.
False | El control MSHFlexGrid no vuelve a dibujarse automáticamente después de cada cambio.

Comentarios

Utilice esta propiedad en el código para reducir el parpadeo mientras realiza actualizaciones extensivas en el contenido del control MSHFlexGrid.


Ejemplo de la propiedad Redraw

El código siguiente desactiva el volver a dibujar, efectúa varios cambios en el contenido del control MSHFlexGrid y vuelve a activar el repintado para mostrar los resultados.

Nota Si utiliza el control MSFlexGrid, sustituya "MSHFlexGrid1" por "MSFlexGrid1".

Dim i As Integer
' Congela el control MSHFlexGrid para impedir el parpadeo.
MSHFlexGrid.Redraw =False
' Actualiza el contenido del control MSHFlexGrid.
For i =MSHFlexGrid1.FixedRows To MSHFlexGrid1.Rows - 1
MSHFlexGrid1.TextMatrix(i, 1) =GetName(i, 1)
MSHFlexGrid1.TextMatrix(i, 2) =GetName(i, 2)
Next
' Muestra los resultados.
MSHFlexGrid1.Redraw =True


RowExpandable, RowExpanded (Propiedades, control MSHFlexGrid)

Estas propiedades indican si la fila actual está expandida o contraída. La fila actual está definida por las propiedades Col y Row.

La propiedad RowExpandable no está disponible en tiempo de diseño.

Sintaxis

objeto.RowExpandable [=booleano]
objeto.RowExpanded [=booleano]

La sintaxis de las propiedades RowExpandable y RowExpanded tiene las siguientes partes:

Parte | Descripción
objeto | Una expresión de objeto que da como resultado un objeto de la lista Se aplica a.
booleano | Una expresión booleana que especifica si la fila actual puede expandirse o si está actualmente expandida.

Valores

Los valores admitidos para booleano son:

Parte | Descripción
True | La fila actual puede expandirse.
False | La fila actual está contraída y no se puede expandir.


RowHeightMin (Propiedad)

Devuelve o establece el alto mínimo de fila de todo el control en twips.

Sintaxis

objeto.RowHeightMin [=valor]

La sintaxis de la propiedad RowHeightMin consta de las siguientes partes:

Parte | Descripción
objeto | Una expresión de objeto que da como resultado un objeto de la lista Se aplica a.
valor | Una expresión numérica única que especifica el alto mínimo de fila del control MSHFlexGrid.

Comentarios

Utilice esta propiedad si emplea fuentes pequeñas pero desea que las filas sean altas. Es más fácil establecer esta propiedad que establecer el alto de las filas individuales mediante la propiedad RowHeight.

La propiedad RowHeight es independiente del modo de escala del formulario.


RowHeight (Propiedad, control MSHFlexGrid)

Devuelve o establece el alto de la fila especificada en twips. Esta propiedad no está disponible en tiempo de diseño.

Sintaxis

objeto.RowHeight(number) [=valor]

La sintaxis de la propiedad RowHeight consta de las siguientes partes:

Parte | Descripción
objeto | Una expresión de objeto que da como resultado un objeto de la lista Se aplica a.
number | Un entero que establece el número de la fila en el control MSHFlexGrid o -1 para establecer todas las filas a la vez.
valor | Una expresión numérica única que especifica el alto de una fila en twips.

Comentarios

Puede establecer en cero la propiedad RowHeight para crear filas invisibles o en–1 para restablecer el alto de fila a su valor predeterminado. El alto de la fila predeterminada varía según el tamaño de la fuente actual.

La propiedad RowHeight es independiente del modo de escala del formulario.


RowIsVisible (Propiedad)

Devuelve o establece un valor que determina si una fila especificada es visible.

Sintaxis

objeto.RowIsVisible(index) [=booleano]

La propiedad RowIsVisible consta de las siguientes partes:

Parte | Descripción
objeto | Una expresión de objeto que da como resultado un objeto de la lista Se aplica a.
index | Un valor de tipo Long que especifica la columna.
booleano | Una expresión booleana que determina si una fila especificada está visible actualmente.

Valores

Los valores admitidos para booleano son:

Valor | Descripción
True | La fila especificada está visible actualmente. Es el valor predeterminado.
False | La fila especificada no está visible actualmente.


RowPos (Propiedad)

Devuelve la distancia en twips entre la esquina superior izquierda del control MSHFlexGrid y la esquina superior izquierda de una fila especificada.

Sintaxis

objeto.RowPos(index)

La sintaxis de la propiedad RowPos consta de las siguientes partes:

Parte | Descripción
objeto | Una expresión de objeto que da como resultado un objeto de la lista Se aplica a.
index | Un valor de tipo Long que especifica la columna.


RowSizingMode (Propiedad, control MSHFlexGrid)

Devuelve o establece un valor que describe el modo de cambio de tamaño de las filas en el control MSHFlexGrid.

Sintaxis

objeto.RowSizingMode [=valor]

La sintaxis de la propiedad RowSizing consta de las siguientes partes:

Parte | Descripción
objeto | Una expresión de objeto que da como resultado un objeto de la lista Se aplica a.
valor | Un entero o constante que especifica los valores del tamaño de fila, como se describe en Valores.

Valores

Los valores admitidos para valor son:

Constante | Valor | Descripción
flexRowSizeIndividual | 0 | Al cambiar el tamaño de una fila, sólo se cambia el alto de esa fila. Es el valor predeterminado.
flexRowSizeAll | 1 | Al cambiar el tamaño de una fila, cambia el alto de todas las filas del control MSHFlexGrid.

Comentarios

Esta propiedad sólo se utiliza cuando la propiedad AllowUserResize está establecida en Filas o en Ambas.


ScrollBars (Propiedad, control MSHFlexGrid)

Devuelve o establece un valor que determina si un control MSHFlexGrid posee barras de desplazamiento horizontales, verticales o ambas a la vez.

Sintaxis

objeto.ScrollBars [=valor]

La sintaxis de la propiedad ScrollBars consta de las siguientes partes:

Parte | Descripción
objeto | Una expresión de objeto que da como resultado un objeto de la lista Se aplica a.
valor | Un entero o constante que especifica el tipo de barras de desplazamiento, como se describe en Valores.

Valores

Los valores admitidos para valor son:

Constante | Valor | Descripción
flexScrollNone | 0 | El control MSHFlexGrid no tiene barras de desplazamiento.
flexScrollHorizontal | 1 | El control MSHFlexGrid tiene una barra de desplazamiento horizontal.
flexScrollVertical | 2 | El control MSHFlexGrid tiene una barra de desplazamiento vertical.
flexScrollBoth | 3 | El control MSHFlexGrid tiene barras de desplazamiento horizontal y vertical. (Predeterminado).

Comentarios

Las barras de desplazamiento sólo aparecen en un control MSHFlexGrid si su contenido se extiende más allá de sus bordes y valor especifica el tipo de barras de desplazamiento. Si la propiedad ScrollBars está establecida en None, el control MSHFlexGrid no tendrá barras de desplazamiento, independientemente de su contenido.

Nota Si el control MSHFlexGrid no tiene barras de desplazamiento en una de las direcciones, el usuario no podrá desplazarse en esa dirección aunque utilice el teclado para seleccionar una celda que esté fuera del área visible del control.


ScrollTrack (Propiedad)

Devuelve o establece un valor que determina si el contenido de control MSHFlexGrid debe desplazarse mientras el usuario mueve el cuadro de desplazamiento a lo largo de las barras de desplazamiento.

Sintaxis

objeto.ScrollTrack [=booleano]

La sintaxis de la propiedad ScrollTrack consta de las siguientes partes:

Parte | Descripción
objeto | Una expresión de objeto que da como resultado un objeto de la lista Se aplica a.
booleano | Una expresión booleana que especifica si el contenido de un control MSHFlexGrid se desplazará mientras el usuario mueve el botón de desplazamiento a lo largo de la barra de desplazamiento.

Valores

Los valores admitidos para booleano son:

Parte | Descripción
True | El contenido del control MSHFlexGrid se desplaza mientras el usuario mueve el botón de desplazamiento a lo largo de la barra de desplazamiento.
False | El contenido del control MSHFlexGrid sólo cambia cuando el usuario suelta el botón de desplazamiento. Es el valor predeterminado.

Comentarios

Establezca esta propiedad en False para impedir un desplazamiento y parpadeo excesivos. Establézcala en True sólo si desea simular el comportamiento de otros controles o para ver las filas y columnas a medida que se desplazan.


SelectionMode (Propiedad)

Devuelve o establece un valor que determina si un control MSHFlexGrid permite la selección normal de celdas, la selección por filas o la selección por columnas.

Sintaxis

objeto.SelectionMode [=valor]

La propiedad SelectionMode consta de las siguientes partes:

Parte | Descripción
objeto | Una expresión de objeto que da como resultado un objeto de la lista Se aplica a.
valor | Un entero o constante que especifica el modo de selección, como se describe en Valores.

Valores

Los valores admitidos para valor son:

Constante | Valor | Descripción
flexSelectionFree | 0 | Libre. Permite seleccionar celdas individuales en el control MSHFlexGrid, al estilo de una hoja de cálculo. Es el valor predeterminado.
flexSelectionByRow | 1 | Por fila. Fuerza la selección a extenderse a filas completas como en un cuadro de lista de columnas múltiples o en una presentación basada en registros.
flexSelectionByColumn | 2 | Por columna. Fuerza la selección a extenderse a columnas completas como ocurre al seleccionar intervalos en un gráfico o en campos antes de ordenarlos.


Sort (Propiedad, control MSHFlexGrid)

Establece un valor que ordena las filas seleccionadas de acuerdo con un criterio seleccionado. Esta propiedad no está disponible en tiempo de diseño.

Sintaxis

objeto.Sort [=valor]

La sintaxis de la propiedad Sort consta de las siguientes partes:

Parte | Descripción
objeto | Una expresión de objeto que da como resultado un objeto de la lista Se aplica a.
valor | Un entero o constante que especifica el tipo de ordenación, como se describe en Valores.

Valores

Los valores admitidos para valor son:

Constante | Valor | Descripción
flexSortNone | 0 | Ninguna. No se efectúa la ordenación.
flexSortGenericAscending | 1 | Genérica ascendente. Realiza una ordenación ascendente basada en la estimación de si el texto es una cadena o un número.
flexSortGenericDescending | 2 | Genérica descendente. Realiza una ordenación descendente basada en la estimación de si el texto es una cadena o un número.
flexSortNumericAscending | 3 | Numérica ascendente. Realiza una ordenación ascendente que convierte las cadenas a números.
flexSortNumericDescending | 4 | Numérica descendente. Realiza una ordenación descendente que convierte las cadenas a números.
flexSortStringNoCaseAsending | 5 | Cadena ascendente. Realiza una ordenación ascendente sin distinguir mayúsculas y minúsculas en la comparación de cadenas.
flexSortNoCaseDescending | 6 | Cadena descendente. Realiza una ordenación descendente sin distinguir mayúsculas y minúsculas en la comparación de cadenas.
flexSortStringAscending | 7 | Cadena ascendente. Realiza una ordenación ascendente distinguiendo mayúsculas y minúsculas en la comparación de cadenas.
flexSortStringDescending | 8 | Cadena descendente. Realiza una ordenación descendente distinguiendo mayúsculas y minúsculas en la comparación de cadenas.
flexSortCustom | 9 | Personalizada. Utiliza el evento Compare para comparar filas.

Comentarios

La propiedad Sort ordena siempre filas completas. Para especificar el intervalo que se va a ordenar, establezca las propiedades Row y RowSel. Si los valores de Row y RowSel son iguales, el control MSHFlexGrid ordenará todas las filas que no sean fijas.

Las teclas utilizadas para la ordenación están determinadas por las propiedades Col y ColSel. La ordenación se lleva a cabo siempre de izquierda a derecha. Por ejemplo, si Col =3 y ColSel =1, la ordenación efectúa según el contenido de las columnas 1, 2 y, después, 3.

El método utilizado para comparar las filas se determina con valor, como se describe en Valores. El valor 9 (Personalizada) es más flexible pero también más lento que los demás valores, normalmente unas diez veces más. Una alternativa al valor 9 (Personalizada) consiste en crear una columna invisible, llenarla con las claves y realizar a continuación una ordenación Personalizada con otro de los valores. Esto es un buen método para las ordenaciones basadas en fechas.


Ejemplo de las propiedades Sort, TextMatrix (Control MSHFlexGrid)

El ejemplo siguiente utiliza las propiedades Sort y TextMatrix. Realiza una ordenación del control MSHFlexGrid según el valor de un control ComboBox. Para usar el ejemplo, coloque un control MSHFlexGrid y un control ComboBox en un formulario. Pegue el código siguiente en la sección Declaraciones y, a continuación, presione F5.

Nota Si utiliza el control MSFlexGrid, sustituya "MSHFlexGrid1" por "MSFlexGrid1".

Private Sub Combo1_Click()
' Selecciona una columna según el método Sort.
Select Case Combo1.ListIndex
Case 0 To 2
MSHFlexGrid1.Col =1
Case 3 To 4
MSHFlexGrid1.Col =2
Case 4 To 8
MSHFlexGrid1.Col =1
End Select
' Ordena según la propiedad Combo1.ListIndex.
MSHFlexGrid1.Sort =Combo1.ListIndex
End Sub
Private Sub Form_Load()
Dim i As Integer
' Llena el control MSFlexGrid con datos aleatorios.
MSHFlexGrid1.Cols =3 ' Crea tres columnas.

For i =1 To 11 ' Agrega diez elementos.
MSHFlexGrid1.AddItem ""
MSHFlexGrid1.Col =2
MSHFlexGrid1.TextMatrix(i, 1) =CualquierNombre(i)
MSHFlexGrid1.TextMatrix(i, 2) =Rnd()
Next i
' Llena el cuadro combinado con las opciones de orden.
With Combo1
.AddItem "flexSortNone" ' 0
.AddItem "flexSortGenericAscending" '1
.AddItem "flexSortGenericDescending" '2
.AddItem "flexSortNumericAscending" '3
.AddItem "flexSortNumericDescending" '4
.AddItem "flexSortStringNoCaseAsending" '5
.AddItem "flexSortNoCaseDescending" '6
.AddItem "flexSortStringAscending" '7
.AddItem "flexSortStringDescending" '8
.ListIndex =0
End With
End Sub
Private Function CualquierNombre(i As Integer) As String
Select Case i
Case 1
SomeName ="Ana"
Case 2
SomeName ="Carlos"
Case 3
SomeName ="Sofía"
Case 4
SomeName ="Antonio"
Case 5
SomeName ="Elena"
Case 6
SomeName ="Laura Díaz"
Case 7
SomeName ="María Del Valle"
Case 8
SomeName ="Pablo"
Case 9
SomeName ="Julia"
Case 10
SomeName ="Manuel"
Case 11
SomeName ="Ricardo"
End Select
End Function


TextArray (Propiedad)

Devuelve o establece el contenido de texto de una celda elegida aleatoriamente.

Sintaxis

objeto.TextArray(cellindex) [=cadena]

La sintaxis de la propiedad TextArray consta de las siguientes partes:

Parte | Descripción
objeto | Una expresión de objeto que da como resultado un objeto de la lista Se aplica a.
cellindex | Entero. Una expresión numérica que especifica en qué celda debe leerse o escribirse el contenido. Vea Comentarios.
cadena | Una expresión de cadena que contiene el contenido de una celda elegida aleatoriamente.

Comentarios

Esta propiedad permite establecer u obtener el contenido de una celda sin cambiar las propiedades Row y Col.

El argumento cellindex determina qué celda se debe usar. Para calcular su valor, se multiplica la fila deseada por la propiedad Cols y se suma la columna deseada. El modo más claro y conveniente de calcular cellindex es definir una función que lo haga, como se muestra en el ejemplo.


Ejemplo de la propiedad TextArray

El ejemplo siguiente muestra cómo puede calcular cellindex al definir una función.

Nota Si utiliza el control MSFlexGrid, sustituya "MSHFlexGrid1" por "MSFlexGrid1".

' Calcula el índice que se usará con la propiedad TextArray.
Function faÍndice(fila As Integer, col As Integer) As Long
faÍndice =fila * MSHFlexGrid1.Cols + col
End Function
Sub Form_Load()
Dim i as Integer
' Llena el control MSFlexGrid con datos mediante la propiedad TextArray.
For i =MSHFlexGrid1.FixedRows to MSFlexGrid1.Rows - 1
' ** columna 1
MSHFlexGrid1.TextArray(faÍndice(i, 1)) =CualquierNombre()
' Columna 2.
MSHFlexGrid1.TextArray(faÍndice(i, 2)) =CualquierNúmero()
Next


Text (Propiedad, control MSHFlexGrid)

Devuelve o establece el contenido de texto de un intervalo de celdas.

Sintaxis

objeto.Text [=cadena]

La sintaxis de la propiedad Text consta de las siguientes partes:

Parte | Descripción
objeto | Una expresión de objeto que da como resultado un objeto de la lista Se aplica a.
cadena | Una expresión de cadena que contiene el texto de una celda o de un intervalo de celdas.

Comentarios

Al recuperar un contenido, la propiedad Text siempre obtiene el contenido de la celda actual definida por las propiedades Row y Col.

Al establecer valores, la propiedad Text establece el contenido de la celda actual o de la selección actual según el valor de la propiedad FillStyle.


TextMatrix (Propiedad)

Devuelve o establece el contenido de texto de una celda elegida aleatoriamente.

Sintaxis

objeto.TextMatrix(rowindex, colindex) [=cadena]

La sintaxis de la propiedad TextMatrix consta de las siguientes partes:

Parte | Descripción
objeto | Una expresión de objeto que da como resultado un objeto de la lista Se aplica a.
rowindex, colindex | Entero. Una expresión numérica que especifica en qué celda debe leerse o escribirse.
cadena | Una expresión de cadena que contiene el contenido de cualquier celda.

Comentarios

Esta propiedad permite establecer o extraer el contenido de una celda sin cambiar las propiedades Row y Col.


TextStyle, TextStyleBand, TextStyleFixed, TextStyleHeader (Propiedades, control MSHFlexGrid)

Estas propiedades devuelven o establecen el estilo tridimensional del texto de una celda específica o de un intervalo de celdas.

  • TextStyle determina el estilo de las celdas normales del control MSHFlexGrid.

  • TextStyleBand determina el estilo de las bandas.

  • TextStyleFixed determina el estilo de las filas fijas y de las columnas fijas.

  • TextStyleHeader determina el estilo de los encabezados.

Sintaxis

objeto.TextStyle [=estilo]
objeto.TextStyleBand [=estilo]
objeto.TextStyleFixed [=estilo]
objeto.TextStyleHeader [=estilo]

La sintaxis de las propiedades TextStyle, TextStyleBand, TextStyleFixed y TextStyleHeader tiene las siguientes partes:

Parte | Descripción
objeto | Una expresión de objeto que da como resultado un objeto de la lista Se aplica a.
estilo | Un entero o constante que especifica el estilo de texto, como se describe en Valores.

Valores

Los valores admitidos para estilo son:

Constante | Valor | Descripción
flexTextFlat | 0 | Texto plano normal. Es el valor predeterminado.
flexTextRaised | 1 | El texto aparece en relieve.
flexTextInset | 2 | El texto aparece incrustado.
flexTextRaisedLight | 3 | El texto aparece ligeramente en relieve.
flexTextInsetLight | 4 | El texto aparece ligeramente incrustado.

Comentarios

Los valores 1 y 2 son más apropiados para fuentes grandes y en negrita. Los valores 3 y 4 son más apropiados para fuentes pequeñas y normales.


TopRow (Propiedad, control MSHFlexGrid)

Devuelve o establece la fila superior visible (que no es una fila fija) del control MSHFlexGrid. Esta propiedad no está disponible en tiempo de diseño.

Sintaxis

objeto.TopRow [=número]

La sintaxis de la propiedad TopRow consta de las siguientes partes:

Parte | Descripción
objeto | Una expresión de objeto que da como resultado un objeto de la lista Se aplica a.
número | Un valor de tipo Long que especifica la fila superior del control MSHFlexGrid.

Comentarios

Utilice esta propiedad para leer o establecer por programa la fila visible que está más arriba en el control MSHFlexGrid. Utilice la propiedad LeftCol para determinar la fila visible que está más a la izquierda en el control MSHFlexGrid.

El mayor número de fila que puede usar al establecer TopRow es el número total de filas menos el número de filas visibles en el control MSHFlexGrid. Si esta propiedad está establecida con un número de fila mayor, el control MSHFlexGrid volverá a establecer el valor máximo posible.


Version (Propiedad, control MSHFlexGrid)

Devuelve la versión del control MSHFlexGrid cargado actualmente en memoria.

Sintaxis

objeto.Version [=entero]

La sintaxis de la propiedad Version consta de las siguientes partes:

Parte | Descripción
objeto | Una expresión de objeto que da como resultado un objeto de la lista Se aplica a.
entero | Un entero que representa el número de versión del control MSHFlexGrid.

Comentarios

El número de versión es un entero de tres dígitos. El primer dígito representa el número principal de la versión y los dos últimos representan el número secundario de la versión. Por ejemplo, la versión 3.5 devuelve 350.


WordWrap (Propiedad, control MSHFlexGrid)

Devuelve o establece un valor que determina si una celda debe mostrar múltiples líneas de texto o una sola línea de texto larga.

Nota Los caracteres de retorno, como Chr(13), también fuerzan saltos de línea.

Sintaxis

objeto.WordWrap [=booleano]

La sintaxis de la propiedad WordWrap consta de las siguientes partes:

Parte | Descripción
objeto | Una expresión de objeto que da como resultado un objeto de la lista Se aplica a.
booleano | Una expresión booleana que especifica si el texto de la celda debe ajustarse.

Valores

Los valores admitidos para booleano son:

Parte | Descripción
True | El texto de la celda se muestra con múltiples líneas de texto ajustadas.
False | El texto de la celda se muestra como una línea larga de texto. Es el valor predeterminado.

Comentarios

El control MSHFlexGrid puede mostrar texto ligeramente más rápido cuando establece WordWrap en False.