You can use a label to display descriptive text. Therefore, the Label.Text property is also the most important. For the ValueBox program, for example, six labels were used to display a description of the contents of the six ValueBoxes:
Figure 16.1.1: Six labels in action
The following table describes further properties of a label:
Label | Data type | Default | Description |
---|---|---|---|
.Alignment | Integer | 0 | Sets the horizontal alignment of the label text or returns its alignment → class Align |
.Autoresize | Boolean | False | Specifies whether the size of the label automatically adapts to the text. |
.Border | Integer | None | Sets the border of the label or determines the border shape or specifies whether a border exists and which border shape is used → class Border |
.Text | String | ~ | Sets or returns the text of the label to be displayed |
.Padding | Integer | 0 | Sets a distance between text and label boundaries (edge) |
.Transparent | Boolean | False | Sets the transparency of a label or specifies whether the label is transparent |
Table 16.1.1: Selected label properties
You can use the method Label.Adjust() to react if the text for a label has changed at runtime and the label size is to adapt automatically to the changed text. Text changes refer not only to the label text itself, but also to changes to the font properties of the label. Then it becomes increasingly difficult to maintain the design on the form.
Public Sub btnAdjust_Click() Label1.Text = "Neue IP-Adresse (IPv6)" Label1.Adjust() End ' btnAdjust_Click() Public Sub btnAutoResize_Click() Label1.AutoResize = True Label1.Text = "IP-Adresse (IPv4)" End ' btnAutoResize_Click()
Alternatively, set the Label. AutoResize property to True and achieve the same effect.
You can only mark the text to be displayed using the Label.Font property with regard to font, style and size, and this always applies to the entiretext. Since the font color is not a font property, you must set it using the Label.Foreground property.
In the component 'StatusBar' of Raymonde de Bruijne, for example, 4 labels are used to display different information in 4 sections of the status bar:
Figure 16.1.2: Four labels in one StatusBar
In the following project the text “Running Text Speed” is used as descriptive text for the component Slider and a freely selectable text is displayed in another label as so-called Running Text:
Figure 16.1.3: Texts in two labels (→ 'Scrolling text')
Mit einem Label können Sie bezeichnenden Text anzeigen. Daher ist auch die Eigenschaft Label.Text die wichtigste. Für das Programm ValueBox zum Beispiel wurden sechs Label benutzt, um eine Beschreibung für den Inhalt der sechs ValueBoxen anzuzeigen:
Abbildung 16.1.1: Sechs Label in Aktion
In der folgenden Tabelle werden weitere Eigenschaften eines Labels beschrieben:
Label | Datentyp | Default | Beschreibung |
---|---|---|---|
.Alignment | Integer | 0 | Setzt die horizontale Ausrichtung des Label-Textes oder gibt dessen Ausrichtung zurück → Klasse Align |
.Autoresize | Boolean | False | Gibt an, ob sich die Größe des Labels automatisch an den Text anpasst |
.Border | Integer | None | Setzt den Rand des Labels oder bestimmt die Randform oder gibt an, ob ein Rand vorhanden ist und welche Randform verwendet wird → Klasse Border |
.Caption | String | Synonym für .Text | |
.Text | String | Setzt den anzuzeigenden Text des Labels oder gibt diesen zurück | |
.Padding | Integer | 0 | Setzt einen Abstand zwischen Text und Label-Grenzen (Rand) |
.Transparent | Boolean | False | Legt die Transparenz eines Labels fest oder gibt an, ob das Label transparent ist |
Tabelle 16.1.1: Ausgewählte Label-Eigenschaften
Mit der Methode Label.Adjust() können Sie darauf reagieren, wenn sich der Text für ein Label zur Laufzeit geändert hat und sich die Label-Größe automatisch an den geänderten Text anpassen soll. Textänderungen beziehen sich dabei nicht nur auf den Label-Text selbst, sondern auch auf Änderungen der Font-Eigenschaften des Labels. Dann wird es zunehmend schwieriger, das Design auf dem Formular zu wahren.
Public Sub btnAdjust_Click() Label1.Text = "Neue IP-Adresse (IPv6)" Label1.Adjust() End ' btnAdjust_Click() Public Sub btnAutoResize_Click() Label1.AutoResize = True Label1.Text = "IP-Adresse (IPv4)" End ' btnAutoResize_Click()
Alternativ setzen Sie die Eigenschaft Label.AutoResize auf True und erzielen den gleichen Effekt.
Sie können den anzuzeigenden Text nur über die Eigenschaft Label.Font hinsichtlich Schriftart, Stil und Größe auszeichnen und das betrifft stets den gesamten Text. Da die Schriftfarbe keine Font-Eigenschaft ist, müssen Sie diese über die Eigenschaft Label.Foreground setzen.
In der Komponente 'StatusBar' von Raymonde de Bruijne werden zum Beispiel 4 Label zur Anzeige von unterschiedlichen Informationen in 4 Sektionen der Statusbar verwendet:
Abbildung 16.1.2: Vier Label in einer StatusBar
Im folgenden Projekt wird der Text “Lauftext-Geschwindigkeit” als beschreibender Text für die Komponente Slider eingesetzt und ein frei wählbarer Text in einem anderen Label als sogenannter Lauftext angezeigt:
Abbildung 16.1.3: Texte in zwei Label (→ Lauftext)