Spin-Button

Spin-Buttons sind Listenfelder mit einem Doppelpfeil am rechten Rahmenrand. Das Fenster zeigt nur einen Listeneintrag. Durch Mausklick auf die Spitzen des Doppelpfeils werden die vor bzw. hinter dem gerade sichtbaren Eintrag stehenden Optionen ins Fenster gerückt.

Spin-Buttons sind dazu da, um die Auswahl genau einer Option aus einer Reihe vorgegebener Alternativen zu erlauben, die eine logische Reihenfolge besitzen. Das ist deshalb angeraten, weil nicht mehrere oder alle Werte zugleich dargestellt werden können. Typischerweise wird eine Reihe von Zahlenwerten und Messskalen, zur Wahl gestellt. Die ausgewählte Option bleibt angezeigt. Damit können Datenpunktwerte gesetzt oder Aktionen ausgelöst werden. Ein Beispiel wäre das stufenweise Zuschalten von Pumpen.

Es gibt nur numerische Spin-Buttons.

Abbildung: Spin-Button

Maximum-, Minimumwert und Schrittweite definieren den Ausschnitt und Detaillierungsgrad der Wertreihe (Messskala), die angezeigt werden soll.

So erstellen Sie einen Spin-Button:

  1. Klicken Sie auf das Werkzeug für Spin-Button .

  2. Klicken Sie in das Panelarbeitsfläche. Bestimmen Sie die Größe.

  3. Öffnen Sie das Eigenschaftenfenster.

  4. Vergeben Sie den Objektnamen neben (Name).

  5. Ändern Sie die Schriftformatierung der Einträge im Eigenschaftenfenster.

  6. Geben Sie den Maximum- und Minimumwert, die Schrittweite und den Wert, der angezeigt werden soll, ein.

Mit einem Doppelklick auf den Spin-Button im Panel während des Engineerings kann sein Changed-Skript geöffnet werden.

Beispiel

Ein Script für einen Spin-Button mit vier Optionen (1, 2, 3, 4), über die bis zu vier Ventile VD01 - VD04 geschlossen werden können, würde beispielsweise folgendermaßen lauten. Die Funktion dpSet() setzt den Originalwert der Datenpunktvariablen "VD01.EinAus" bis "VD04.EinAus" je nach der gewählten Spin-Button Option. Vorausgesetzt wird, dass dem Ventilzustand "Schließen" der Originalwert Eins zugeordnet ist und der Spin-Button die numerischen Optionen "1", "2", "3" und "4" besitzt.

main(){ int anz; getValue("", "text", anz); if(anz == 1) { dpSet("VD01.EinAus:_original.._value ",1); } else if(anz == 2) { dpSet("VD01.EinAus:_original.._value ",1); dpSet("VD02.EinAus:_original.._value ",1); } else if(anz == 3) { dpSet("VD01.EinAus:_original.._value ",1); dpSet("VD02.EinAus:_original.._value ",1); dpSet("VD03.EinAus:_original.._value ",1); } else if(anz == 4) { dpSet("VD01.EinAus:_original.._value ",1); dpSet("VD02.EinAus:_original.._value ",1); dpSet("VD03.EinAus:_original.._value ",1); dpSet("VD04.EinAus:_original.._value ",1); }}

Für Spin-Button Funktionen siehe Kapitel Control Grafik/Spin-Button Funktionen.