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

ajustar el texto de un MSHFlexgrid

Estas en el tema de ajustar el texto de un MSHFlexgrid en el foro de Visual Basic clásico en Foros del Web. Hola a todos gracias por su tiempo........ como puedo ajustar el texto de un mshflexgrid de manera automatica ¿ se puede hacer esto? lo que ...
  #1 (permalink)  
Antiguo 13/04/2009, 10:27
 
Fecha de Ingreso: noviembre-2008
Ubicación: mexico
Mensajes: 87
Antigüedad: 15 años, 5 meses
Puntos: 0
Pregunta ajustar el texto de un MSHFlexgrid

Hola a todos gracias por su tiempo........

como puedo ajustar el texto de un mshflexgrid de manera automatica ¿ se puede hacer esto? lo que pasa es que los registros que muestro en el Mshflexgrid son grandes y no se ven completamente, entonces quiero que cuando me muestre los registros las columnas se ajusten dependiendo del tamaño del registro ....

gracias por sus aportes
  #2 (permalink)  
Antiguo 13/04/2009, 10:44
Avatar de Sergestux  
Fecha de Ingreso: agosto-2007
Ubicación: Tapachula
Mensajes: 1.218
Antigüedad: 16 años, 8 meses
Puntos: 20
Respuesta: ajustar el texto de un MSHFlexgrid

Podrias hacerlo si tienes un tamaño de fuente definido, es decir cada letra segun el tamaño de fuente ocupa un determinado ancho en pixeles. En base a esto puedes calcular cuanto ocupa la cadena mas larga de cada columna (campo) y ajustar el ancho de esa columna basada en el ancho de cada cadena
  #3 (permalink)  
Antiguo 13/04/2009, 11:18
 
Fecha de Ingreso: noviembre-2008
Ubicación: mexico
Mensajes: 87
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: ajustar el texto de un MSHFlexgrid

ok gracias ... pero no hay alguna propiedad que me pueda ajustar las columnas automaticamente ?.....

gracias por sus aportes
  #4 (permalink)  
Antiguo 26/11/2010, 19:01
 
Fecha de Ingreso: julio-2009
Mensajes: 9
Antigüedad: 14 años, 9 meses
Puntos: 0
Información Respuesta: ajustar el texto de un MSHFlexgrid

Checa con este codigo ajusta automaticamente las columnas de acuerdo al tamaño del texto mas amplio.

Código:
Public Sub AjustarColumnas(FlexGrid As 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 FlexGrid.Cols - 1)
      
    'Recorrer las columnas para almacenar el ancho
    For Columna = 0 To FlexGrid.Cols - 1
        'Guarda el ancho de la  columna en la matriz
        Ancho_Columna(Columna) = TextWidth(FlexGrid.TextMatrix(0, Columna))
    Next Columna
      
    'Recorrer todas las filas del FlexGRid
    For Fila = 1 To FlexGrid.Rows - 1
              
        'Recorrer todas las Columnas
        For Columna = 0 To FlexGrid.Cols - 1
            COL_WITH = j
            ' Almacenar el ancho de la columna actual
            Col_Width = TextWidth(FlexGrid.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 FlexGrid.Cols - 1
        FlexGrid.ColWidth(Columna) = Ancho_Columna(Columna) + 240
    Next
  
Exit Sub
  
'Error
ErrSub:
      
    MsgBox Err.Description, vbCritical
    FlexGrid.Redraw = True
End Sub

Public Function TextWidth(text As String) As Single
    TextWidth = Printer.TextWidth(text)
End Function
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 10:18.