Se pueden desplegar varias lineas de texto en una celda de msflexgrid?
Hola Laurita.
Bueno mira crea un nuevo proyecto, en tu MsFlexGrid agregale una fila y dos columnas,
asegurándote que que el MsFlexGrid tenga la altura necesaria para mostrar todas
las lineas de texto que quieras meter en una fila (indicado en la constante
N), pega el siguiente código, y córrelo con diferentes valores para N:
Const N = 3
Private Function GenerarLineas(N As Integer) As String
Dim s As String, i As Integer
For i = 0 To N - 1
If (i) Then s = s & vbCrLf
s = s & "Esta es la linea " & i + 1
Next
GenerarLineas = s
End Function
Private Sub Form_Load()
With MSFlexGrid1
.WordWrap = True
.ColWidth(1) = .Width - 300 - .ColWidth(0)
.RowHeight(1) = Me.TextHeight("Z") * (N + 0.5)
.TextMatrix(1, 1) = GenerarLineas(N)
End With
End Sub
El cálculo de RowHeight está basado en un "número mágico" (un número que
producen el resultado deseado, aunque no se sabe por qué: normalmente se
obtienen mediante ensayo y error): en este caso el alto del texto, por la
cantidad de líneas más la mitad del alto del texto.
La propiedad WordWrap le dice al grid cómo interpretar los saltos de línea
(si lo pones a False, los vbCrLf aparecen como dos garabatos, y no parten la
línea).
Espero te sirva, un abrazo.