Produkt: | Elvis |
Version: | 2.x |
Stand: | 2006-09-04 |
Zusammenfassung
Dieser Artikel präsentiert eine Lösung zu folgender Problemstellung:
Es soll eine Anzeige realisiert werden, die abhängig vom ActualValue eines Datenpunktes die Schrift- und Hintergrundfarbe eines Kontrollelement (z.B. Analog Output) ändert. Ebenso soll durch den ActualValue eines anderen Datenpunktes das Kontrollelement ein- bzw. ausgeblendet werden.
Einzelheiten
Für das Beispiel wird ein Elvis Analog Output Controls verwendet (kann mit einem beliebigen Datenpunkt verknüpft sein). Das geht ganz einfach:
- Legen Sie die beiden Steuerdatenpunkte mit den Namen „EIN/AUS“ (für die Farbsteuerung) und „Sichtbar/Unsichtbar“ (für die Sichtbarkeit) vom Typ EIB Schalter an.
- Im Beispiel werden diese beiden Datenpunkte zum Ausprobieren mit je einem Statebutton verbunden, aber natürlich können die Werte auch vom Bus kommen.
- Geben Sie in Form Load folgenden Code ein („AnalogOutput“ evtl. durch den Namen des zu beeinflussenden Kontrollelementes ersetzen):
//CODE:vb:' Farben setzen If Database.Datapoint("Ein/Aus").ActualValue = True Then Form.Item("AnalogOutput").Forecolor = 255 Form.Item("AnalogOutput").Backcolor = 655336 Else Form.Item("AnalogOutput").Forecolor = 655336 Form.Item("AnalogOutput").Backcolor = 255 End If ' Sichtbarkeit setzen Form.Item("AnalogOutput").Visible = Database.Datapoint("Sichtbar/Unsichtbar").ActualValue //CODE
- Geben Sie in Form DatapointChanged folgenden Code ein
//CODE:vb:If Dp.Name = "Ein/Aus" And prop = "ActualValue" Then ' Farben setzen If DP.ActualValue = True Then Form.Item("AnalogOutput").Forecolor = 255 Form.Item("AnalogOutput").Backcolor = 655336 Else Form.Item("AnalogOutput").Forecolor = 655336 Form.Item("AnalogOutput").Backcolor = 255 End If End If If Dp.Name = "Sichtbar/Unsichtbar" And prop = "ActualValue" Then ' Sichtbarkeit ändern Form.Item("AnalogOutput").Visible = DP.ActualValue ' Bedienseite neu zeichnen Form.Document.Redraw End If//CODE
Man muss beide Ereignisse behandeln, damit die richtige Anzeige schon am Anfang (Form_Load) und auch nach jeder relevanten Datenpunktänderung sichergestellt ist.
Download des Beispielprojekts kb050134.zip.