• Lunes 23 de Diciembre de 2024, 04:50

Autor Tema:  Ayudaaaa Facìl  (Leído 1255 veces)

NextorJoc

  • Miembro activo
  • **
  • Mensajes: 70
    • Ver Perfil
Ayudaaaa Facìl
« en: Miércoles 26 de Mayo de 2004, 22:50 »
0
:huh:  Hola, a todos, gracias por entrar aqui.

Mi pregunta es: ¿como hago para que un label cambie el tamaño del alto dependiendo de la cantidad de lineas?

Me explico, yo tengo un label en el cual se va a ingrear un texto de n caracteres, cuando el texto alcanza al limite, pasa al siguiente renglon, como hago para que el label ò textbox se  agrande de acuerdo con las lineas que contenga, por favor lo nesecito





Gracias
[size=109]"Soy un novato en el tema de la programación, no se todo, pero algo se y lo que no se espero que me lo hagan saber"[/size]

Juanolo

  • Miembro MUY activo
  • ***
  • Mensajes: 202
    • Ver Perfil
Re: Ayudaaaa Facìl
« Respuesta #1 en: Jueves 27 de Mayo de 2004, 00:01 »
0
Hola NextorJoc.
Podrías utilizar el siguiente código como base:

Código: Text
  1.  
  2. Private Sub VerificaAltura()
  3.     Label1.Height = Entero(TextWidth(Label1.Caption) _
  4.     / Label1.Width) * TextHeight(Label1.Caption)
  5. End Sub
  6.  
  7. Private Function Entero(nUm As Single)
  8.     'Redondea al número entero superior
  9.     If nUm - Int(nUm) > 0 Then
  10.         Entero = Int(nUm) + 1
  11.     Else
  12.         Entero = Int(nUm)
  13.     End If
  14. End Function
  15.  
  16.  

La función textwidth te da el ancho de la cadena.
La función Entero la cree para que el número de líneas sea el entero superior de la división del ancho de la cadena por el ancho del label (puede que exista una de norma, pero no la hallé).
Nota Importante: La función Textwidth te indica el ancho de la cadena, pero considerando el tipo de letra del form. Luego, debes tener la precaución de que ambos tipos de letra sean iguales.
Además, ten en cuenta que sólo es una idea para comenzar. Seguramente te encontrarás conque la idea trabaja demasiado al límite en cuanto a la altura, por lo que quizás te convenga agregar un par de twips por línea. Por otro lado, sequramente tendrás problemas cuando sea un gran número de líneas, a causa de que los espacios en blanco que queden al correrse una palabra larga a la línea inferior no será considerado como ancho adicional por la función Textwidth. Ahí también le puedes agregar un poco de tolerancia al ancho del label.

Bueno... Pero si fuera perfecto te quitaría toda la entretención.

Ojalá te inspire.
 :hola:
La luz que sólo se ilumina a sí misma, es oscuridad.

Juanolo

  • Miembro MUY activo
  • ***
  • Mensajes: 202
    • Ver Perfil
Re: Ayudaaaa Facìl
« Respuesta #2 en: Jueves 27 de Mayo de 2004, 00:11 »
0
Lo probé y está entretenido.

Ahí te va el proyectillo.

 :hola:
El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.
La luz que sólo se ilumina a sí misma, es oscuridad.

NextorJoc

  • Miembro activo
  • **
  • Mensajes: 70
    • Ver Perfil
Re: Ayudaaaa Facìl
« Respuesta #3 en: Miércoles 2 de Junio de 2004, 17:02 »
0
Nuchisimas gracias muchachos, de nuevo, grcias, lo voy a probar.
Igualmente, decubri untilizando el ocx Form 2.0 que hay un label en el que le pongo autozise y me lo agranda de acuerdo a las lineas que contenga el texto.






Gracias igual y lo voy a probar. :hola:
[size=109]"Soy un novato en el tema de la programación, no se todo, pero algo se y lo que no se espero que me lo hagan saber"[/size]