Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Duda con MsFlexGrid

Estas en el tema de Duda con MsFlexGrid en el foro de Visual Basic clásico en Foros del Web. Hola Alguien sabe como hago para que el ancho de una columna en un flexgrid se organice automaticamente segun el largo del texto que va ...
  #1 (permalink)  
Antiguo 06/10/2008, 13:10
Avatar de ramirezmario7  
Fecha de Ingreso: febrero-2008
Ubicación: Medellín
Mensajes: 336
Antigüedad: 16 años, 2 meses
Puntos: 56
Duda con MsFlexGrid

Hola

Alguien sabe como hago para que el ancho de una columna en un flexgrid se organice automaticamente segun el largo del texto que va en esa columna.

Uso VB 6.0


gracias
  #2 (permalink)  
Antiguo 06/10/2008, 16:07
Avatar de ramirezmario7  
Fecha de Ingreso: febrero-2008
Ubicación: Medellín
Mensajes: 336
Antigüedad: 16 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
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:22.