Spanish (SOLUCIONADO) Lista con filas de altura ajustada al tamaño del texto

Discussion in 'Spanish Forum' started by J M Movilla Cuadrado, Oct 30, 2018.

  1. J M Movilla Cuadrado

    J M Movilla Cuadrado Member Licensed User

    Abusando de la increíble disponibilidad que en este foro estoy encontrando para sacarme de mis novatadas, adjunto el código con el que intento que las filas de un listado se presenten con altura suficiente para que se visualice el texto completo. Está muy verde todavía...

    Esta vez pido demasiado, lo reconozco; pero no tengo más "posibles" que ofrecer mi súplica de perdón y mi agradecimiento.
     

    Attached Files:

    Last edited: Nov 7, 2018
  2. IdasI4A

    IdasI4A Member Licensed User

    Mira si así te sirve.
    Code:
    Sub Presenta
       
    Dim i, Y As Int
       
    Dim cDato As String
       
       ScrollView1.Panel.RemoveAllViews
       
       Y=
    2dip
       
    For i = 1 To 5       ' Será de una lista de donde obtenga cada cDato
           Dim iv As Label

           iv.Initialize(
    "")
    ' lo añadimos al panel del ScrollView, con una altura cualquiera y luego le ponemos la atura adecuada
           ScrollView1.Panel.AddView(iv,15dip,Y,ScrollView1.Width-30dip,10dip
           iv.Gravity = 
    Bit.Or( Gravity.CENTER_VERTICAL, Gravity.LEFT)
           
           
    ' Alternando el color de fondo
           If i Mod 20 Then
               iv.Color=
    0xFFE290D0
           
    Else
               iv.Color=
    0xFF7EF4E1
           
    End If
           
           
    ' Para probar...
           If i = 1 Then
               cDato=
    "En un lugar de La Mancha de cuyo nombre no quiero acordarme,"
           
    else if i = 2 Then
               cDato=
    "no ha mucho tiempo que vivía un hidalgo de los de lanza en astillero, adarga antigua, rocín flaco y galgo corredor."
           
    else if i = 3 Then
               cDato=
    "Una olla de algo más vaca que carnero,"
           
    else if i = 4 Then
               cDato=
    "salpicón las más noches,"
           
    else if i = 5 Then
               cDato=
    "duelos y quebrantos los sábados, lentejas los viernes, algún palomino de añadidura los domingos, consumían las tres partes de su hacienda. El resto della concluían sayo de velarte, calzas de velludo para las fiestas, con sus pantuflos de lo mesmo, y los días de entresemana se honraba con su vellorí de lo más fino. Tenía en su casa una ama que pasaba de los cuarenta, y una sobrina que no llegaba a los veinte, y un mozo de campo y plaza, que así ensillaba el rocín como tomaba la podadera"
           
    End If
           
           iv.Text=cDato
           iv.TextSize=
    16
           iv.TextColor=
    0xFF120202
           iv.tag = i
           iv.BringToFront
           
           iv.Height = nu.MeasureMultilineTextHeight(iv, cDato) 
    ' ponemos la altura real
           Y=Y+iv.Height+2dip ' 2dip es el espacio entre los controles. 
       Next
       ScrollView1.Panel.Height=y
    End Sub
     
  3. J M Movilla Cuadrado

    J M Movilla Cuadrado Member Licensed User

    Guauuuuu. De maravilla. Creo que no hubiera sido capaz de dar con esa fórmula nunca.

    Te lo agradezco muchísimo.
     
    Last edited: Nov 7, 2018
Loading...
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice