# VLabel

**Hereda de:** [Widget](widget).

Esta clase representa al control Label.

## [Propiedades](#documentación-de-propiedades)

| Retorno       | Función                                       |
| ------------- | --------------------------------------------- |
| Number        | [alignment](#alignment)                       |
| const Boolean | [hasSelectedText](#hasselectedtext)           |
| Number        | [indent](#indent)                             |
| Number        | [margin](#margin)                             |
| Boolean       | [openExternalLinks](#openexternallinks)       |
| Boolean       | [scaledContents](#scaledcontents)             |
| const String  | [selectedText](#selectedtext)                 |
| String        | [text](#text)                                 |
| Number        | [textFormat](#textformat)                     |
| Number        | [textInteractionFlags](#textinteractionflags) |
| Boolean       | [wordWrap](#wordwrap)                         |

## Funciones

**Generales**

| Retorno | Función                               |
| ------- | ------------------------------------- |
| void    | [clear](#clear)()                     |
| VImage  | [image](#image)()                     |
| void    | [setImage](#setimage)( VImage image ) |
| void    | [setNum](#setnum)( Number valor )     |
| void    | [setText](#settext)( String text )    |

## Enumeraciones

**Flags de alineamiento**

* AlignLeft = 0×0001
* AlignRight = 0×0002
* AlignHCenter = 0×0004
* AlignJustify = 0×0008
* AlignAbsolute = 0×0010
* AlignTop = 0×0020
* AlignBottom = 0×0040
* AlignVCenter = 0×0080
* AlignCenter = AlignVCenter | AlignHCenter

**Flags de interacción con el texto**

* NoTextInteraction = 0×00
* TextSelectableByMouse = 0×01
* TextSelectableByKeyboard = 0×02
* LinksAccessibleByMouse = 0×04
* LinksAccessibleByKeyboard = 0×08
* TextEditable = 0×10
* TextEditorInteraction = TextSelectableByMouse | TextSelectableByKeyboard | TextEditable
* TextBrowserInteraction = TextSelectableByMouse | LinksAccessibleByMouse | LinksAccessibleByKeyboard

**Text format**

* PlainText = 0
* RichText = 1
* AutoText = 2
* LogText = 3

## Documentación de propiedades

#### alignment

Permite leer o configurar la alineación del contenido de la etiqueta. De forma predeterminada, el contenido de la etiqueta se alinea a la izquierda y centrada verticalmente. Ver enum de flags de alineamiento. Los valores con combinables mediante el uso del operador bitwise or booleano "|".

#### hasSelectedText

Devuelve verdadero si una parte o todo el texto ha sido seleccionado por el usuario, de lo contrario devuelve false. De forma predeterminada, esta propiedad es false.

#### indent

Permite leer o configurar la indentación del texto en píxeles. Si la etiqueta muestra el texto, el guión se aplica al borde izquierdo si la alineación AlignLeft, en el borde derecho si la alineación AlignRight, hasta el borde superior si la alineación alignTop , y en el borde inferior si la alineación AlignBottom. Si el valor es negativo, o si no hay indentación establecida, la etiqueta calcula el espacio de la siguiente manera: si frameWidth es 0, la indentación se convierte en 0. Si frameWidth es mayor que 0, la indentación se calcula como la mitad del ancho de la "x" del carácter de la fuente actual del widget. Por defecto, la indentación es -1, lo que significa que se calcula en la forma descrita anteriormente.

#### margin

Permite leer o configurar la anchura del margen. El margen es la distancia entre el píxel más interna del marco y el píxel más externa del contenido. El margen por defecto es 0.

#### openExternalLinks

Permite leer o configurar si se debe abrir automáticamente un enlaces usando OpenURL o en su lugar de emitir la señal linkActivated.

Nota: el textInteractionFlags establecido en la etiqueta debe incluir ya sea LinksAccessibleByMouse o LinksAccessibleByKeyboard. El valor predeterminado es false.

#### scaledContents

Permite leer o configurar si la etiqueta ampliará sus contenidos para llenar todo el espacio disponible. Cuando está activada y la etiqueta muestra un mapa de píxeles, se ajustará el mapa de píxeles para llenar el espacio disponible. El valor predeterminado de esta propiedad es false.

#### selectedText

Devuelve el texto seleccionado. Si no hay texto seleccionado valor de esta propiedad es una cadena vacía. De forma predeterminada, esta propiedad contiene una cadena vacía.

Nota: el textInteractionFlags establecido en la etiqueta debe incluir ya sea TextSelectableByMouse o TextSelectableByKeyboard.

#### text

Permite leer o configurar el texto de la etiqueta. Si no hay texto establecido se devolverá una cadena vacía. Asignar un nuevo texto borra cualquier contenido anterior. El texto se interpreta como texto sin formato o como texto enriquecido, dependiendo de la configuración del formato de texto, ver setTextFormat. La configuración predeterminada es Autotexto, es decir el control intentará detectar automáticamente el formato del texto conjunto. Tenga en cuenta que este control es muy adecuado para mostrar pequeños documentos de texto enriquecido, como documentos pequeños que obtienen sus valores de documento específico (tipo de letra, color del texto, color de enlace) de la paleta de la etiqueta y las propiedades de la fuente. Para documentos grandes, utilice TextEdit en modo de sólo lectura en su lugar. TextEdit también puede proporcionar una barra de desplazamiento cuando sea necesario.

Nota: esta función permite el seguimiento del ratón si el texto contiene texto enriquecido.

#### textFormat

Permite leer o configurar el formato de la etiqueta de texto. Ver enum Text format. El formato por defecto es Autotext.

#### textInteractionFlags

Permite leer o configurar si la etiqueta debe interactuar con la entrada del usuario. Ver enum de flags de interacción con el texo. Los valores con combinables mediante el uso del operador bitwise or booleano "|". El valor por defecto LinksAccessibleByMouse.

#### wordWrap

Permite leer o configurar como se ajusta el texto al espacio disponible en el control. Si esta propiedad es true entonces el texto de la etiqueta se ajusta si es necesario, de lo contrario no se ajusta en absoluto. Por defecto, el ajuste está desactivado.

## Documentación de funciones

### Funciones generales

#### void clear() <a href="#clear" id="clear"></a>

Limpia el contenido del control.

#### VImage image() <a href="#image" id="image"></a>

Devuelve un objeto de la clase [VImage](vimage) con la imagen que contiene el control.

#### void setImage( VImage image ) <a href="#setimage" id="setimage"></a>

Asigna una imagen contenida en un objeto de la clase [VImage](vimage) al control.

Parámetros:

* image: objeto de la clase [VImage](vimage) que contiene la imagen a asignar al control.

{% hint style="info" %}
Cuando la propiedad **nombre** o la propiedad **contenido** tienen algún valor, si en el formulario se hace algo que fuerce el refresco de contorles, entonces se volverán a recalcular esas propiedades y, por tanto se perderá la imagen establecida.
{% endhint %}

#### void setNum( Number valor ) <a href="#setnum" id="setnum"></a>

Asigna un valor numérico a mostrar en el control.

Parámetros:

* valor: número a mostrar en el control.

{% hint style="info" %}
Cuando la propiedad **nombre** o la propiedad **contenido** tienen algún valor, si en el formulario se hace algo que fuerce el refresco de contorles, entonces se volverán a recalcular esas propiedades y, por tanto se perderá el valor asignado por esta función.
{% endhint %}

#### void setText( String text ) <a href="#settext" id="settext"></a>

Asigna un texto a visualizar en el control.

Parámetros:

* text: texto a mostrar en el control.

{% hint style="info" %}
Cuando la propiedad **nombre** o la propiedad **contenido** tienen algún valor, si en el formulario se hace algo que fuerce el refresco de contorles, entonces se volverán a recalcular esas propiedades y, por tanto se perderá el valor asignado por esta función.
{% endhint %}
