Ver Mensaje Individual
  #9 (permalink)  
Antiguo 16/10/2004, 04:32
Avatar de Beakdan
Beakdan
 
Fecha de Ingreso: diciembre-2001
Ubicación: Monterrey, Nuevo León
Mensajes: 433
Antigüedad: 22 años, 11 meses
Puntos: 7
Oblacionx:
Rbkrr tiene razón. Pero toma en cuenta que hay muchas fuentes que tienen un tamaño mínimo, y sin importar que valor asignes, no bajarán de dicho tamaño. También está el asunto de la legibilidad. Si se llega a reducir mucho el tamaño, el texto simplemente no podría ser leído. Y algo más la estética. Si tuvieras varios controles label se vería discordante que el tamaño de los textos no fuera el mismo.
Algunas veces necesito limitar el texto a un rectángulo específico, y para ello uso la función DrawText de la API. La ventaja de usar esta función, es que recorta el texto que no cabe, y le agrega puntos suspensivos al final de la cadena. Esto hace saber al usuario, que el texto continúa, así con un tooltip puede obtener el resto de la información. Lo mejor de todo, al menos desde mi punto de vista, es que el diseño de mi formulario no queda arruinado como pasa con un label con autosize, o con wordwrap.
El siguiente código te muestra dicho código, pero además el mismo con ligeras modificaciones sirve para calcular el tamaño de fuente máximo en que cabe todo el texto en un label con determinadas dimensiones. Doy por sentado, que el label es de sólo una línea de texto, pero los que uso para esta demostración están sobredimensionados en lo alto, para que sea apreciable como es imposible redimensionar ciertos tipos de fuente.

En un nuevo form, agrega los siguientes controles y modifica las propiedades indicadas:
  • 1 TexBox
    Name: Text1
  • 1 Label
    Name: Label1
    Index: 0
  • 1 Checkbox
    Name: CheckBox1
    Index: 0
  • 1 ComboBox
    Name: Combo1
    Index: 0
    Sorted: True
    Style: 2-DropDown List
Y agrega el siguiente código:

Última edición por Beakdan; 16/10/2004 a las 22:37