Visual Basic - Como ajustar el texto de un celda en un MSflexgri

Life is soft - evento anual de software empresarial
   
Vista:

Como ajustar el texto de un celda en un MSflexgri

Publicado por juan (9 intervenciones) el 09/04/2009 23:04:20
estoy realizando un programa que pasa informacion de un listbox a un flexgrid pero la infromacion es muy larga y se corta deseo que se ma ajusten las celdas de ancho y larga para que se me muestre toda la informacion en varias lineas dentro de un misma celda y luego enviarla a excel y que las celda tambien se ajuste dependiendo del contenido de cada celda
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE: Como ajustar el texto de un celda en un MSflex

Publicado por carlos (1 intervención) el 10/04/2009 17:37:58
yo tengo tu mismo problemasel codigo para ajustarlo es este pero tengo un error por que todas las celda me toman el tamaño de la primera de verdad no quew tengo mal en el codigo cualquier cosa dime gracias
For fila = 0 To MSFlexGrid1.Rows - 1
MSFlexGrid1.RowHeight(fila) = TextHeight(fila) + 240
Next fila
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE: Como ajustar el texto de un celda en un MSflex

Publicado por juan (9 intervenciones) el 10/04/2009 19:43:46
ya encontra la solucion es esta Dim Columna As Integer

Private Declare Function SendMessage Lib "user32" Alias _
"SendMessageA" _
(ByVal hwnd As Long, _
ByVal wMsg As Long, _
ByVal wParam As Long, _
lParam As Any) As Long

Private Const EM_GETLINECOUNT = &HBA
dim columna as integer
For Columna = 1 To MSFlexGrid1.Cols - 1

MSFlexGrid1.ColWidth(Columna) = 4310
Next
MSFlexGrid1.ColWidth(0) = 600

Dim LineasTexto As Long
Dim AlturaLinea As Long
Dim i As Integer
Text1.Width = MSFlexGrid1.ColWidth(1)
For i = 1 To MSFlexGrid1.Rows - 1
MSFlexGrid1.Row = i
MSFlexGrid1.Col = 2

Text1.Text = MSFlexGrid1.Text

AlturaLinea = TextHeight(Text1.Text)

LineasTexto = SendMessage(Text1.hwnd, EM_GETLINECOUNT, 0&, 0&)

If lngLineasTexto = 1 Then
MSFlexGrid1.RowHeight(i) = TextHeight(Text1.Text) + 400
Else
MSFlexGrid1.RowHeight(i) = (LineasTexto * AlturaLinea) + 900
End If
Next
End Sub
gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar