Ver Mensaje Individual
  #2 (permalink)  
Antiguo 06/10/2008, 16:07
Avatar de ramirezmario7
ramirezmario7
 
Fecha de Ingreso: febrero-2008
Ubicación: Medellín
Mensajes: 336
Antigüedad: 17 años, 2 meses
Puntos: 56
Respuesta: Duda con MsFlexGrid

Hola ya encontre la solucion.

La pongo por si a alguien le sirve

Codigo:

En un boton se puede colocar el call Ajustar_Columnas(MSHFlexGrid) o en donde lo necesiten


'Sub para recorrer el FlexGRid y ajustar las columnas
'''''''''''''''''''''''''''''''''''''''''''''''''' ''''''''
Private Sub Ajustar_Columnas(MSHFlexGrid)

On Local Error GoTo ErrSub

'Para las filas y columnas del Flexgrid
Dim Columna As Integer, Fila As Long

'Matriz y variable para los anchos de columna
Dim Ancho_Columna() As Single
Dim Col_Width As Single

'Redimensionar el Array a la cantidad de columnas
ReDim Ancho_Columna(0 To FGrid.Cols - 1)

'Recorrer las columnas para almacenar el ancho
For Columna = 0 To FGrid.Cols - 1
'Guarda el ancho de la columna en la matriz
Ancho_Columna(Columna) = TextWidth(FGrid.TextMatrix(0, Columna))
Next Columna

'Recorrer todas las filas del FlexGRid
For Fila = 1 To FGrid.Rows - 1

'Recorrer todas las Columnas
For Columna = 0 To FGrid.Cols - 1

' Almacenar el ancho de la columna actual
Col_Width = TextWidth(FGrid.TextMatrix(Fila, Columna))

'Comparar cual es mayor
If Ancho_Columna(Columna) < Col_Width Then
Ancho_Columna(Columna) = Col_Width
End If
Next
Next

' Establecer los anchos de columna al FlexGRid _
con la propiedad ColWidth

For Columna = 0 To FGrid.Cols - 1
FGrid.ColWidth(Columna) = Ancho_Columna(Columna) + 240
Next

Exit Sub

'Error
ErrSub:

MsgBox Err.Description, vbCritical
FGrid.Redraw = True

End Sub